* Bumped up terrain world limit to allow up to (and including) 4096 x 4096.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Changed loop calculations to handle floating-point math better.
By looping on floating-point values, query resolutions of unstable values like "0.200000007" would sometimes cause the loop to go one more time than it should.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
When going into game mode or after initializing some system that takes a few seconds, the FPS counter showed really large numbers, extending across the whole with of the viewport. In this case, values show "inf" now.
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
* Added debug draw function to the pose class for sharable and easy-to-use pose debug visualization that includes pose data debug rendering.
* Extended the pose data factory with the ability to add pose data types from outside of the EMFX SDK and external gems.
* In order to get access to the pose data factory, it got added to the EMFX manager.
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
* Added helper functions for calculating linear and angular velocities.
* Added debug visualization helper for linear and angular velocities.
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
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>
* 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>
* small bugfix
Signed-off-by: rhhong <rhhong@amazon.com>
* ActorInstanceId default to -1 when no %lastresult matches
Signed-off-by: rhhong <rhhong@amazon.com>
* CR feedback - wrap function to get the first available editor actor instance.
Signed-off-by: rhhong <rhhong@amazon.com>
* Remove mcore inline
Signed-off-by: rhhong <rhhong@amazon.com>
* Fixed the bug that delete an instance from actor manager crashes the editor.
Signed-off-by: rhhong <rhhong@amazon.com>
* 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>
* Breaking up terrain FP wip - macro materials decoupled from meshes. Mesh creation and rendering pulled out from MeshFeatureProcessor into TerrainMeshManager. Stubs added for macro and detail material managers.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Separated macro material management from the terrain feature processor. Also separated bindless image array handling from terrain feature processor.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Detail materials separated from terrain feature processor. Also pulled out Aabb2i and Vector2i into their own simple classes
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Changed some classes so that when the SRG changes the classes don't need to be completely reinitialized and can instead just update their indices and push data to the new srg. Fixed an issue where MacroMaterialData wasn't being exposed to ScriptCanvas. Terrain shader reloads should now work correctly. Also added some debug logging to help catch an issue where sometimes detail materials don't seem to load.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Terrain PR reveiw updates
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Some small PR review fixes. More comments in TerrainDetailMaterialManager.h
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Fixing unused variable causing clang failure
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Fixing unused variable in release.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Fixing a forward declare that oddly didn't work on linux.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Fixing linux missing include... not sure why only linux failed on this.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Adding missing include
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>