Chris Burel
664403c5de
Mark benchmark state variables in for loops as unused in benchmarks
...
Signed-off-by: Chris Burel <burelc@amazon.com >
2022-02-10 15:36:15 -08:00
Mike Balfour
6791b652cc
Fix memory allocation that caused benchmark runs to crash. ( #7535 )
...
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-02-10 10:17:01 -06:00
Chris Galvan
daee055a97
Merge pull request #7526 from aws-lumberyard-dev/cgalvan/ImproveImageGradientGetValuesPerformance
...
Improved image gradient GetValue(s) performance by using cached image data
2022-02-09 16:11:45 -06:00
Mike Balfour
f79fa57b4a
Fix race condition crash with the gradient preview. ( #7530 )
...
When duplicating an entity with a Gradient SurfaceData Component, it's possible to get a hang/crash due to a race condition between entity deactivation and the gradient preview job refresh. This change ensures that the preview job is canceled on deactivation.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-02-09 16:09:08 -06:00
Chris Galvan
2e762ba0eb
Modified activate logic from PR feedback
...
Signed-off-by: Chris Galvan <chgalvan@amazon.com >
2022-02-09 14:35:34 -06:00
Chris Galvan
2f3c4d37df
Improved image gradient GetValue(s) performance by using cached image data
...
Signed-off-by: Chris Galvan <chgalvan@amazon.com >
2022-02-09 12:22:38 -06:00
Chris Galvan
94644cad1e
Merged development, fixed merge conflict
...
Signed-off-by: Chris Galvan <chgalvan@amazon.com >
2022-02-08 15:31:49 -06:00
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
Chris Galvan
e66d55189e
Updated the gradient signal unit tests for the image gradient now using a StreamingImageAsset
...
Signed-off-by: Chris Galvan <chgalvan@amazon.com >
2022-02-07 12:06:11 -06:00
Chris Galvan
640093fe63
Merge branch 'development' of https://github.com/o3de/o3de into cgalvan/ImageGradientStreamingImageSupport
2022-02-07 11:15:28 -06:00
Mike Balfour
a6ddf4164f
SurfaceTagWeights optimization ( #7436 )
...
* Add comparison operators to SurfaceTagWeight.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Changed AddSurfaceTagWeight to always combine weights.
This simplifies the API a bit and defines the behavior if someone ever tries to add a duplicate tag.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added benchmarks for measuring the performance-critical APIs.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Changed SurfaceTagWeights to a fixed_vector.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-02-07 10:57:39 -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
Chris Galvan
2c54b48a9e
Modified image gradient config json serializer to be able to detect version difference earlier
...
Signed-off-by: Chris Galvan <chgalvan@amazon.com >
2022-02-03 16:20:55 -06:00
Chris Galvan
22f018c310
Moved the ImageProcessingDefines to the Include folder and added it to the header only target
...
Signed-off-by: Chris Galvan <chgalvan@amazon.com >
2022-02-03 15:05:01 -06:00
Chris Galvan
4e15cef2fc
Removed unused methods to fix compile error on linux
...
Signed-off-by: Chris Galvan <chgalvan@amazon.com >
2022-02-03 13:49:54 -06:00
Chris Galvan
6322dd5397
Updated the image gradient component to use a streaming image asset
...
Signed-off-by: Chris Galvan <chgalvan@amazon.com >
2022-02-03 12:29:18 -06:00
Esteban Papp
6fad254b59
Merge branch 'development' into optimization/unused_files
...
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com >
# Conflicts:
# Code/Editor/IEditorImpl.cpp
# Code/Editor/IEditorImpl.h
# Gems/LmbrCentral/Code/Tests/lmbrcentral_editor_tests_files.cmake
2022-01-25 15:40:30 -08:00
Mike Balfour
dbd6ddbc1c
Optimized Gradient Previewer ( #7074 )
...
* Faster method with older one commented out for profiling.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Removed commented-out code
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Addressed PR feedback, fixed subtle bug in interlace math.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed unrelated bug in terrain cmake file.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fix linux compile error.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-01-21 18:05:19 -06:00
Esteban Papp
8c6cc2ea04
Removes EditorGradientComponentBase.cpp from Gems/GradientSignal
...
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com >
2022-01-20 16:06:47 -08:00
Steve Pham
59e43813f0
GCC Support for Linux
...
Updates and fixes to support GCC for Linux
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com >
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com >
2022-01-20 13:00:02 -08:00
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
83878e6377
Change GetValues() to take in const positions. ( #6987 )
...
* Change GetValues() to take in const positions.
To support this, span needed some template deductions to correctly convert from non-const containers to const ones.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Removed the most problematic template deduction rules.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Remove duplicate validate_iterator methods.
iterator type is a pointer, not a value, so "const iterator" and "const const_iterator" produce the same function signature.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed the span types.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-01-19 12:57:52 -06:00
Mike Balfour
4b9e53e623
Another batch of GetValues() overrides. ( #6915 )
...
* Another batch of GetValues() overrides.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added missing headers.
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 >
2022-01-18 15:05:17 -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
79431f5e5f
First batch of GetValues() overrides ( #6852 )
...
* 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 >
2022-01-13 14:50:54 -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
48260486fb
Change gradients to use cached GradientTransform instance ( #6591 )
...
* Change flow so that TerrainSystem stops responding during deactivation.
Some systems might accidentally try to call back to the TerrainSystem inside a DestroyBegin notification, so make sure it stops listening before sending out the notification.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Change gradients to cache and use a GradientTransform instance.
In my local test case, calling EBus on every call took 337 ms, using a lambda to wrap the calls took 197 ms, and using the fully cached version took 170 ms.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Remove the wrappingTransform function and go back to the switch statement.
There was a bit of overhead to each function call due to using AZStd::function that just isn't necessary for this use case.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Add profile markers to the heightfield updates so that they're more visible.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Cleared state while component is deactivated.
The state was getting refreshed even while the component was in a deactivated state, which meant that it wasn't properly notifying of state changes when it became active since it wasn't detecting an actual change. By clearing the state when deactivated, and ensuring the state isn't getting refreshed *while* deactivated, the notifications work properly.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed compile warning on unit test.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Addressed PR feedback - changed comments, reduced mutex scope
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2021-12-30 12:43:00 -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
Mike Balfour
3e9b76cdee
Image Gradient: Switch to shared_mutex ( #6558 )
...
* Improve lock contention by switching to a shared_lock.
ImageGradient is accessed via a many-reader-one-writer pattern, so a shared_lock causes less contention in the common "read" case.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Remove chatty profile marker.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2021-12-23 14:16:22 -06:00
Mike Balfour
aafb9e8110
Misc Bugfixes ( #6530 )
...
* Bugfix: AreaIds don't compare correctly when the priority bus doesn't have a listener.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
(cherry picked from commit eb9e95fcb3884dee638b9032785b828359b0d8c0)
* Bugfix: Only deactivate a component if it's currently active.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
(cherry picked from commit 7c9e4b7de49e8fe009616651d6e09f66c356db38)
* Switched shared_lock to unique_lock, since the data is being written to.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Moved Legacy::CryCommon build dependency to correct location.
It was a public build dependency in FastNoise and GradientSignal, but really only should be a private dependency in Vegetation due to the vegetation system needing some init/shutdown events.
Fixing this up also required cleanup of a few unused legacy remnants in other files.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* InWorldBounds was incorrectly checking the X bounds against the Z bounds.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Removed some additional unneeded legacy code that was now causing compile errors.
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 >
* Adjusted cmake dependencies again, based on what's needed in the public header files in the gems.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Second attempt at the Deactivate() fix, this time by tracking the nested component state.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Addressed PR feedback, made operation symmetrical.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added CryCommon privately to other veg modules too, since they all reference AreaSystemComponent, which uses the legacy events.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2021-12-22 10:38:04 -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
Mike Balfour
39ba06b84e
misc small terrain bugfixes ( #5834 )
...
* Removed "chatty" profile markers.
These three markers were making terrain refreshes take ~200% longer in profile builds.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Terrain surface data wasn't updating its AABB correctly.
The code was making an invalid assumption that changes to the world bounds would result in an invalid dirtyRegion. It actually gets a valid region encapsulating the old and new bounds. The fix is an additional check to see if the terrain bounds changed.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Addressed previous PR feedback that terrainSystem ought to be a local variable in each test.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2021-11-23 09:21:27 -06:00
John Jones-Steele
3d67be162c
Terrain Physics Heightfield support
...
* New Heightfield Components
Signed-off-by: John Jones-Steele <jjjoness@amazon.com >
* Misc PR fixes
* Fixed linux build failure from bad #include
* Renamed "Terrain Physics Collider" to "Terrain Physics Heightfield Collider" per physics team feedback
* Fixed 1/5 -> 1/4 typo in a comment
* Added missing member copies in HeightfieldShapeConfiguration
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 >
* Changes from review
Signed-off-by: John Jones-Steele <jjjoness@amazon.com >
* Remove tabs accidently added
Signed-off-by: John Jones-Steele <jjjoness@amazon.com >
* Fixed overly complicated scaling math.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added comments to make it more obvious what's happening on CreateEnd / DestroyBegin.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Moved Heightfield CreatePxGeometryFromConfig into its own function
Signed-off-by: John Jones-Steele <jjjoness@amazon.com >
Co-authored-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2021-10-22 10:19:36 -05:00
Artur K
f44169f7fa
Cleanup SerializeContext.h pt.1 ( #4264 )
...
* Remove AssetSerializer inclusion from SerializeContext header
Moved a few Reflect methods to new cpp files.
In addition, some preparations for further header dependency reductions.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com >
* Fix smoke test lua failures.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com >
* Windows build fixes.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com >
* Missing license headers
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com >
* Fix white-space issues.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com >
* Code review fix for AzToolsFramework/AssetEditor/AssetEditorBus.h
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com >
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com >
* Fix inheritance list wrapping broken by older clang-format
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com >
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com >
2021-09-29 11:31:01 -05: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
Esteban Papp
3ebf045cb5
Gems/GradientSignal
...
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com >
2021-08-20 18:01:03 -07:00
Esteban Papp
a35464ca08
more fixes
...
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com >
2021-08-20 10:09:44 -07:00
Esteban Papp
f8e99cd7dd
Merge branch 'development' into cmake/SPEC-2513_w4244
...
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com >
# Conflicts:
# Code/Editor/CryEditDoc.cpp
# Code/Framework/AzToolsFramework/AzToolsFramework/Input/QtEventToAzInputManager.cpp
# Gems/Atom/Feature/Common/Code/Source/PostProcessing/BlendColorGradingLutsPass.cpp
# Gems/PhysXDebug/Code/Source/SystemComponent.cpp
2021-08-19 08:53:41 -07:00
Jeremy Ong
df9b4d4a2f
Deprecate profiler categories based on global enum
...
(to be supplanted by registered budgets in the future)
Signed-off-by: Jeremy Ong <jcong@amazon.com >
2021-08-18 17:33:09 -06: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
Esteban Papp
b33a4db332
Merge branch 'development' into cmake/SPEC-2513_w4267
2021-08-02 18:03:04 -07:00
pappeste
0af39dd633
GradientSignal
...
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com >
2021-07-27 19:30:01 -07:00
dtamkin1
731640492e
Merge branch 'development' of https://github.com/o3de/o3de into GroupToggleSwitch
2021-07-23 16:28:45 -05:00
sphrose
9639003a7d
LYN-4774 Fix missing box icons inside the main Viewport ( #2297 )
...
* LYN-4774 Fix missing box icons inside the main Viewport
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com >
* V2 icons
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com >
* Bug fixes
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com >
2021-07-21 16:33:04 -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