Mike Balfour
2b43ad8029
FastNoise GetValues() specialization ( #7009 )
...
* Add comparison operator for use from unit tests.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* First version of FastNoise benchmarks.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Simplified unit tests and added initial benchmarks.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Add GetValue vs GetValues unit test.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Moved Gradient test code into helper files for use from FastNoise.
Also added benchmarks for each type of FastNoise so that we can have some comparative values handy.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Specialization for GetValues().
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-01-19 17:10:37 -06:00
Mike Balfour
c403fa3db6
More GetValues() overrides ( #6896 )
...
* Benchmarks and tests for Image and Constant GetValues
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Verify GetValues for Perlin and Random Gradients
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Standardized the assert format for GetValues().
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* More GetValues unit tests and test cleanup
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed typos
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* GetValues() unit tests for surface gradients.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Benchmarks for ShapeAreaFalloff Gradient
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added benchmarks for all remaining gradients and cleaned up the helper methods.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Renamed class for better report formatting.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added missing Mocks dependencies for the Editor tests.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* First batch of specific GetValues() overrides.
Each one is measurably faster than the generic version. Also, in ShapeAreaFalloffGradient, I optimized and simplified the logic a bit, so GetValue() is marginally faster too.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Change GetValues() to use span and add more overrides.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Convert GetValues() to use AZStd::span and added more overrides.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Add missing include.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* PR feedback - switch to fill
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed the logic and added unit tests and comments.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-01-14 13:30:45 -06:00
Mike Balfour
62e7483b0e
Switched GradientSignal to use GemTestEnvironment. ( #6886 )
...
This allows actual Shape components to be used instead of MockShapes, which is important for the benchmarks to get accurate results as Mocks are extremely expensive. It also removes a lot of unnecessary mock handling and test setup code.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-01-13 14:44:59 -06:00
Mike Balfour
ffa9cc3a66
Unit tests and benchmarks for GetValues() ( #6823 )
...
* Benchmarks and tests for Image and Constant GetValues
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Verify GetValues for Perlin and Random Gradients
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Standardized the assert format for GetValues().
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* More GetValues unit tests and test cleanup
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed typos
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* GetValues() unit tests for surface gradients.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Benchmarks for ShapeAreaFalloff Gradient
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added benchmarks for all remaining gradients and cleaned up the helper methods.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Renamed class for better report formatting.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added missing Mocks dependencies for the Editor tests.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-01-12 08:46:10 -06:00
Mike Balfour
7123ed18be
Naive GetValues() implementation. ( #6741 )
...
* Naive GetValues() implementation.
Added the method itself, and the benchmarks which show that even the naive version is currently 10-50% faster than calling GetValue() for multiple values.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added comments documenting why the const_cast is there.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed link errors by creating new Shared.Tests lib.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Addressed PR feedback.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed incorrect comparison.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-01-07 12:12:09 -06:00
Mike Balfour
b0af08e61f
Moved GradientSignal component headers to Include directory.
...
All of the component headers in the gem have been moved to the Include directory to make them public to other gems. This allows "upstream" unit tests and benchmarks to easily create real non-mocked-out versions of these components to do more integration-level and system-level testing and benchmarking.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-01-03 16:12:15 -06:00
Mike Balfour
a000198b1b
Add benchmarks to GradientSignal. ( #6616 )
...
* Add benchmarks to GradientSignal.
Cleaned up and rearranged a bit of the unit testing code to make it reusable from a benchmark suite as well. Added set of benchmarks for measuring GetValue(), so that we can compare against GetValues() when it gets added.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed Editor unit tests.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-01-03 16:07:31 -06:00
Mike Balfour
a10bf92739
Encapsulated gradient transform logic into separate class ( #6586 )
...
* First version of GradientTransform class.
The gradient transform logic is getting encapsulated into a class so that it can be cached and used by components in a much more optimal way than making ebus calls to the GradientTransform component on every transformed point.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Moved GradientTransform into its own source files.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Clean up and simplify GradientTransform logic.
Added extensive commenting and split TransformPositionToUVW into a separate method for normalizing (TransformPositionToUVWNormalized) so that there doesn't need to be any conditional logic. There's no runtime variance as to which one needs to be called from a given call site.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added unit tests for GradientTransform.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Add comparison operators to GradientTransform so we can easily tell when it has changed.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Updated comments to be more Doxygen-friendly.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2021-12-29 13:44:03 -06:00
Steve Pham
9b480f252e
Fix and enable failed gradient signal tests on Linux
...
* Fix failure reason for PerlinGradientComponent_GoldenTest: non-standard behavior of std::shuffle producing different results across platforms
* Fix failure reason for GradientImageAssetConversionU8SingleScale: Undefined behavior when float casts to a uint8 has overflow
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com >
2021-12-08 14:28:45 -08:00
Esteban Papp
35a7ad612b
Gems/GradientSignal
...
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com >
2021-09-10 20:18:37 -07:00
pappeste
58f8b563d0
fix them all
...
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com >
2021-08-16 16:38:33 -07:00
pappeste
10f950b726
fix w4018
...
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com >
2021-08-05 19:43:56 -07:00
pappeste
0af39dd633
GradientSignal
...
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com >
2021-07-27 19:30:01 -07:00
Esteban Papp
1f9b284de2
Merge branch 'development' into cmake/SPEC-7179
...
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com >
# Conflicts:
# Code/Editor/Plugins/ComponentEntityEditorPlugin/ComponentEntityEditorPlugin_precompiled.h
# Code/Editor/Plugins/EditorCommon/EditorCommon_precompiled.h
# Code/Editor/Plugins/EditorCommon/stdafx.cpp
# Code/Editor/Plugins/FFMPEGPlugin/FFMPEGPlugin_precompiled.h
# Code/Editor/Plugins/PerforcePlugin/PerforcePlugin_precompiled.h
# Code/Editor/Plugins/ProjectSettingsTool/ProjectSettingsTool_precompiled.h
# Code/Framework/AzToolsFramework/AzToolsFramework/AzToolsFramework_precompiled.h
# Code/Tools/AssetProcessor/native/precompiled.h
# Code/Tools/Standalone/StandaloneTools_precompiled.h
# Gems/AssetMemoryAnalyzer/Code/Source/AssetMemoryAnalyzer_precompiled.h
# Gems/Atom/Asset/ImageProcessingAtom/Code/Source/ImageProcessing_precompiled.h
# Gems/Atom/RHI/DX12/Code/Source/RHI/Atom_RHI_DX12_precompiled.h
# Gems/Atom/RHI/Metal/Code/Include/Platform/Mac/Atom_RHI_Metal_precompiled_Platform.h
# Gems/Atom/RHI/Metal/Code/Include/Platform/iOS/Atom_RHI_Metal_precompiled_Platform.h
# Gems/Atom/RHI/Metal/Code/Source/Atom_RHI_Metal_precompiled.h
# Gems/Atom/RHI/Metal/Code/atom_rhi_metal_common_files.cmake
# Gems/Atom/RHI/Null/Code/Source/Atom_RHI_Null_precompiled.h
# Gems/Atom/RHI/Null/Code/atom_rhi_null_common_files.cmake
# Gems/Atom/RHI/Vulkan/Code/Include/Platform/Android/Atom_RHI_Vulkan_precompiled_Platform.h
# Gems/Atom/RHI/Vulkan/Code/Include/Platform/Linux/Atom_RHI_Vulkan_precompiled_Platform.h
# Gems/Atom/RHI/Vulkan/Code/Include/Platform/Mac/Atom_RHI_Vulkan_precompiled_Platform.h
# Gems/Atom/RHI/Vulkan/Code/Include/Platform/Windows/Atom_RHI_Vulkan_precompiled_Platform.h
# Gems/Atom/RHI/Vulkan/Code/Source/Atom_RHI_Vulkan_precompiled.h
# Gems/Atom/RHI/Vulkan/Code/Source/RHI/SwapChain.cpp
# Gems/Atom/RHI/Vulkan/Code/atom_rhi_vulkan_common_files.cmake
# Gems/AtomLyIntegration/AtomFont/Code/Include/AtomLyIntegration/AtomFont/AtomFont_precompiled.h
# Gems/Blast/Code/Source/StdAfx.cpp
# Gems/Camera/Code/Source/Camera_precompiled.h
# Gems/EMotionFX/Code/Source/EMotionFX_precompiled.h
# Gems/FastNoise/Code/Source/FastNoise_precompiled.h
# Gems/Gestures/Code/Source/Gestures_precompiled.h
# Gems/GradientSignal/Code/Source/GradientSignal_precompiled.h
# Gems/GraphCanvas/Code/precompiled.h
# Gems/ImGui/Code/Source/ImGui_precompiled.h
# Gems/InAppPurchases/Code/Source/InAppPurchases_precompiled.h
# Gems/LmbrCentral/Code/Source/LmbrCentral_precompiled.h
# Gems/LmbrCentral/Code/Tests/ShapeGeometryUtilTest.cpp
# Gems/LyShine/Code/Editor/UiCanvasEditor_precompiled.h
# Gems/LyShine/Code/Source/Animation/LyShine_precompiled.h
# Gems/LyShine/Code/Source/LyShine_precompiled.h
# Gems/LyShineExamples/Code/Source/LyShineExamples_precompiled.h
# Gems/Maestro/Code/Source/Cinematics/Maestro_precompiled.h
# Gems/Maestro/Code/Source/Maestro_precompiled.h
# Gems/MessagePopup/Code/Source/MessagePopup_precompiled.h
# Gems/Metastream/Code/Source/Metastream_precompiled.h
# Gems/Microphone/Code/Source/Microphone_precompiled.h
# Gems/Multiplayer/Code/Source/Multiplayer_precompiled.h
# Gems/PhysX/Code/NumericalMethods/Source/NumericalMethods_precompiled.h
# Gems/PhysX/Code/Source/PhysXUnsupported_precompiled.h
# Gems/PhysX/Code/Source/PhysX_precompiled.h
# Gems/PhysX/Code/physx_unsupported_files.cmake
# Gems/PhysXDebug/Code/Source/PhysXDebugUnsupported_precompiled.h
# Gems/PhysXDebug/Code/Source/PhysXDebug_precompiled.h
# Gems/ScriptCanvas/Code/Editor/precompiled.h
# Gems/ScriptCanvas/Code/Source/precompiled.h
# Gems/ScriptCanvasDeveloper/Code/Source/precompiled.h
# Gems/ScriptCanvasPhysics/Code/Source/ScriptCanvasPhysics_precompiled.h
# Gems/ScriptEvents/Code/Source/precompiled.h
# Gems/ScriptEvents/Code/Tests/Editor/EditorTests.cpp
# Gems/ScriptedEntityTweener/Code/Source/ScriptedEntityTweener_precompiled.h
# Gems/SliceFavorites/Code/Source/SliceFavorites_precompiled.h
# Gems/StartingPointCamera/Code/Source/StartingPointCamera_precompiled.h
# Gems/StartingPointInput/Code/Source/StartingPointInput_precompiled.h
# Gems/StartingPointMovement/Code/Source/StartingPointMovement_precompiled.h
# Gems/SurfaceData/Code/Source/SurfaceData_precompiled.h
# Gems/TextureAtlas/Code/Source/TextureAtlas_precompiled.h
# Gems/TickBusOrderViewer/Code/Source/TickBusOrderViewer_precompiled.h
# Gems/Twitch/Code/Source/Twitch_precompiled.h
# Gems/VirtualGamepad/Code/Source/VirtualGamepad_precompiled.h
# Gems/WhiteBox/Code/Source/WhiteBoxUnsupported_precompiled.h
# Gems/WhiteBox/Code/Source/WhiteBox_precompiled.h
2021-07-16 15:42:37 -07:00
Steve Pham
38261d0800
Shorten copyright headers by splitting into 2 lines ( #2213 )
...
* Updated all copyright headers to split the longer original copyright line into 2 shorter lines
Signed-off-by: Steve Pham <spham@amazon.com >
2021-07-16 15:25:48 -07:00
Esteban Papp
33a19b05bc
GradientSignal
...
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com >
2021-07-12 19:51:39 -07:00
Steve Pham
b4a2edec6a
Final update copyright headers to reference license files at the repo root ( #1693 )
...
* Final update copyright headers to reference license files at the repo root
Signed-off-by: spham <spham@amazon.com >
* Fix copyright validator unit tests to support the stale O3DE header scenario
Signed-off-by: spham <spham@amazon.com >
2021-06-30 19:51:55 -07:00
Steve Pham
70042fcdcd
O3DE Copyright Updates for Linux Foundation ( #1504 )
2021-06-23 10:55:22 -07:00
bosnichd
d7b796fd73
Remove I3DEngine CryCommon Interface ( #567 )
...
Delete:
- I3DEngine
- Missions
- Time of day
- GameEffectsSystem Gem
- ImageProcessing Gem
- SVOGI Gem
- Various other things that don't do anything now that the legacy renderer has been removed.
2021-05-05 09:07:28 -06:00
alexpete
a10351f38d
Initial commit
2021-03-08 14:30:57 -08:00