Mike Balfour
c46c558038
Switched Gradient Surface benchmarks to use actual surface components. ( #7468 )
...
* Switched Gradient Surface benchmarks to use actual surface components.
The gradient unit tests and benchmarks were previously using a mock surface data system, which led to misleading benchmark results. Now, the actual SurfaceData system gets constructed, and the tests use a mock provider, but the benchmarks use actual shape providers for more realistic benchmarking.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed unit tests to have better query ranges.
Half of each previous range was querying outside the surface provider's data.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-02-08 15:00:19 -06:00
Mike Balfour
d9ba0af645
SurfacePoint data structure encapsulations ( #7413 )
...
* First pass at encapsulating SurfacePointList.
The biggest challenge in optimizing SurfacePointList(s) usage is the overall memory management associated with it. There are M surface points with N surface mask entries created for every input point, which leads to a lot of container reallocation and memory shuffling when processing multiple input points. By encapsulating the list, it should become easier to preallocate the entries, as well as keep "helper data" around for managing the bookkeeping to associate the input points with the output points.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Small fixes and TODO reminders.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Encapsulate surface point creation and separate EnumeratePoints out from modifications.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Start removing SurfacePoint from the exposed API.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Changed SurfacePointList to split out the surface point storage to allow for span<> usage over time.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Removed entity id
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Removed SurfacePoint from SurfaceData, changed all remaining uses to AzFramework::SurfaceData::SurfacePoint.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Encapsulated SurfaceTagWeightMap and renamed to SurfaceTagWeights.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed make file.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Better commenting and parameter naming.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Renamed methods to be more descriptive.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-02-04 11:27:59 -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
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
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
alexpete
a10351f38d
Initial commit
2021-03-08 14:30:57 -08:00