Commit Graph

68 Commits

Author SHA1 Message Date
Sergey Pereslavtsev 701b7a55e6 PR feedback addressing
Signed-off-by: Sergey Pereslavtsev <pereslav@amazon.com>
2022-02-08 12:43:40 +00:00
Sergey Pereslavtsev 13268dea98 Merge branch 'development' of https://github.com/o3de/o3de into TerrainMaterialsFix 2022-02-04 20:23:36 +00:00
Sergey Pereslavtsev 9aece3e84b LYN-8403 Prevent the same Surface Tag from getting reused
Signed-off-by: Sergey Pereslavtsev <pereslav@amazon.com>
2022-02-04 19:57:29 +00: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 3f63cf3546 Misc SurfaceData Optimizations (#7299)
* Misc SurfaceData Optimizations.
This includes a few different optimizations found while trying to make the bulk query APIs faster:
* Switches mutexes over to shared_lock to optimize for the multi-reader-single-writer pattern
* Surface provider point creation now uses a pre-created set of masks to initialize with, and uses std::move() to move the created point into the output list instead of copying it.
* Splits CombineSortAndFilterNeightboringPoints so that the FilterPoints() can occur separately and efficiently with erase/remove_if, and avoids making a copy of the output points.
* Optimized SurfaceDataShapeComponent::ModifySurfacePoints
* Fixed potential bug where the sort wasn't stable since it only compared the Z value, and could have produced unexpected results for differing points with the exact same Z value.
* Fixed up a couple small bugs and missing checks in the unit tests

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Fixed syntax on unit tests.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2022-02-01 10:44:14 -06:00
jiaweig 1dd4898713 LYN-8551 Terrain: Renderer: Create compute pass for clipmaps (#7116)
* Allocate a pass that will be used to generate clipmap

Signed-off-by: jiaweig <51759646+jiaweig-amzn@users.noreply.github.com>

* Fix some small issues

Signed-off-by: jiaweig <51759646+jiaweig-amzn@users.noreply.github.com>

* Rename the pass to avoid future conflict. Move assets to terrain gem.

Signed-off-by: jiaweig <51759646+jiaweig-amzn@users.noreply.github.com>

* Turn the pass off

Signed-off-by: jiaweig <51759646+jiaweig-amzn@users.noreply.github.com>

* Move pass templates to Terrain gem

Signed-off-by: jiaweig <51759646+jiaweig-amzn@users.noreply.github.com>

* move load template to private

Signed-off-by: jiaweig <51759646+jiaweig-amzn@users.noreply.github.com>

* Add macro texture compute pass

Signed-off-by: jiaweig <51759646+jiaweig-amzn@users.noreply.github.com>

* Fix uncleaned code from previous commit

Signed-off-by: jiaweig <51759646+jiaweig-amzn@users.noreply.github.com>
2022-02-01 08:47:11 -06:00
Ken Pruiksma b455b915a8 Making terrain query resolution a single float instead of a Vector2 (#7186)
* Making terrain query resolution a single float instead of a Vector2

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Keeping the concept of different x/y step sizes in region queries since that may be useful and is separate from query resolution. Also keeping the concept of different x/y step sizes in physics since that's independent of the terrain gem.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Formatting cleanups

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* A few more minor cleanups

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Added support to convert serialized Vector2 query resolution to a single float.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Switch ray intersection check back to using separate values for x and y resolution

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Fixing new unit tests added to use float query resolution.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Updating automated test

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
2022-01-31 16:10:03 -06:00
SergeyAMZN ff79931d1d Merge pull request #7171 from aws-lumberyard-dev/TerrainMaterialsFix
LYN-7637 Allow Terrain Physics Collider to assign a default physics material
2022-01-28 12:47:23 +00:00
Mike Balfour c36b2fbbd6 SurfaceData cleanups to prepare for bulk APIs (#7166)
* Initial cleanup of GetSurfacePointsFromRegion in prep for bulk API support.
* Removed the generated lookup point from the output structure. Nothing was using it, and by keeping it separate, I can pass it in as a list of points that can be passed throughout the terrain, gradient, and surface data APIs.
* Clarified on the SurfaceProvider bus that GetSurfacePoints() only gets valid XY values on the inPosition.
* Simplified the TerrainSurfaceDataSystemComponent implementation a bit.  The EnumerateHandlers() and the terrain Aabb checks were overkill. Also, the terrain Aabb check assumed that the Z value on the inPosition was valid, which it isn't always.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Remove CryCommon dependency.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2022-01-27 15:22:47 -06:00
Sergey Pereslavtsev bb93dd3315 PR feedback + refactored some code duplication in tests
Signed-off-by: Sergey Pereslavtsev <pereslav@amazon.com>
2022-01-27 16:08:22 +00:00
Sergey Pereslavtsev 4c01c5b67f LYN-7637 Allow Terrain Physics Collider to assign a default physics material
Signed-off-by: Sergey Pereslavtsev <pereslav@amazon.com>
2022-01-26 19:15:34 +00:00
Mike Balfour 95c0186d1b Add GetHeights() and GetSurfaceWeightsFromList() APIs. (#7121)
These perform bulk queries of the underlying gradients which is much faster than performing a lot of individual queries.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2022-01-25 09:52:00 -06:00
Chris Galvan 71640c1c82 Merge pull request #6376 from nemerle/compiletime_filerequest_code2
Compile time reduction - FileRequest & related changes
2022-01-24 11:43:27 -06:00
amzn-sj f05ca0897e Fix some warnings and remove an unused function parameter
Signed-off-by: amzn-sj <srikkant@amazon.com>
2022-01-15 14:26:58 -08:00
amzn-sj 641e76eca9 Convert the loops using the Get* functions in Terrain physics and debugger components to use the new ProcessRegion* functions.
Signed-off-by: amzn-sj <srikkant@amazon.com>
2022-01-14 10:09:14 -08: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
SergeyAMZN fdf8dfba26 Merge pull request #6788 from aws-lumberyard-dev/TerrainMaterialsFix
LYN-9183 Fix Terrain Heightfield Collider component to list physics materials from the library
2022-01-11 16:49:36 +00:00
Sergey Pereslavtsev 2e577a8b14 PR feedback
Signed-off-by: Sergey Pereslavtsev <pereslav@amazon.com>
2022-01-11 12:11:51 +00:00
nemerle 3cac520280 Fix non-unity windows build
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
2022-01-11 00:47:00 +01:00
Sergey Pereslavtsev 10497fe92c LYN-9183 Fix Terrain Heightfield Collider component to list physics materials from the library
Signed-off-by: Sergey Pereslavtsev <pereslav@amazon.com>
2022-01-10 20:43:33 +00:00
Mike Balfour 14661af13f Terrain/mbalfour/misc bugfixes (#6712)
* 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>
2022-01-06 09:19:42 -06:00
Mike Balfour 9556c5bf62 Add benchmarks for terrain APIs.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2022-01-03 17:37:38 -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 49dd17f410 Optimized Terrain Debugger Wireframe rendering (#6572)
* Optimized wireframe drawing.
As a part of rearranging the code to make use of the upcoming ProcessHeightsFromRegion, the number of calls to GetHeight could be reduced, dropping the refresh time in my test case from 2550 ms to 1068 ms.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Change refresh to only happen on wireframe draws.
This helps ensure that multiple data changes in a single frame don't cause multiple refreshes, and prevents us from taking a refresh penalty when the wireframe isn't being drawn at all.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Change debugger to update wireframes incrementally.
This works by having a fixed NxN grid of sectors.  The camera is always considered as being in the center of the grid, so anytime the camera's grid square changes, only a subset of sectors are updated to have the new wireframe data.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Bugfix - sector vertex count was 4x too high.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Bugfixes & comments.
Fixed initial "mark dirty" refresh - the dirty region Z value needed to be ignored.
Added copious comments for the math & logic, and simplified some of the math.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Small update to comment for better readability.

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>
2021-12-29 11:25:17 -06:00
Mike Balfour 227eea2cf6 Restore BusDisconnect() that got accidentally removed on a recent commit. (#6557)
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2021-12-23 11:53:01 -06:00
sphrose 657e56edf7 revew changes
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>
2021-12-21 09:55:29 +00:00
sphrose 195764a427 review changes
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>
2021-12-16 15:03:53 +00:00
sphrose 8562dbc6f2 Merge branch 'development' into terrain/sphrose/SurfaceDataConstants 2021-12-15 08:10:54 +00:00
sphrose f00923419d Merge branch 'development' into terrain/sphrose/physics_collider_materials_LYN-6431 2021-12-07 08:19:08 +00:00
sphrose e5a3f21e29 fix merge conflict
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>
2021-12-06 16:43:08 +00:00
sphrose f6c3187151 LYN-7056 SurfaceDataConstants should be revised to have no terrain references
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>
2021-12-06 09:54:00 +00:00
sphrose a8539a7b03 Added default material return when no mapping is assigned.
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>
2021-12-02 15:35:46 +00:00
sphrose 75b3393892 text change
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>
2021-12-01 14:50:43 +00:00
sphrose 7e93addd53 LYN-6431 Added materials support to TerrainPhysicsCollider
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>
2021-12-01 12:56:19 +00:00
sphrose 786a72cf63 LYN-7376 test_TerrainHeightGradientList_AddRemoveGradients
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>
2021-12-01 10:41:45 +00:00
sphrose 93d6a0ef24 Move to development and add review fixes.
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>
2021-11-23 22:53:51 +00:00
Junbo Liang 3b39be7fd0 Merge commit '4ad35f424e01356a4745e5f50631dc050b328c98' into junbo/gitflow_211123_o3de 2021-11-23 13:14:57 -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 4ad35f424e Adds check to make sure that there are not too many samples created. (#5789)
* Adds check to make sure that there are not too many samples created.

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Changes made from PR

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Changes made from PR 2

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
2021-11-19 17:57:38 +00:00
John Jones-Steele c35f74e9ce Physics/test axis aligned box shape configuration works #7378a (#5366)
* Safety commit before merging

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Moved from Physics to Terrain

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Changes from PR + AR fix

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Fixed another AR bug

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Fixed another AR compilation bug

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* More PR changes

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Added virtual destructor

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Added TestSuite_main_Optimized.py

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Changes from PR

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Further fixes for PR

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Fix to editor_test.py

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Testing prefab level

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Testing slice level

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Testing prefab level

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Disabled orefab loading for the time being.

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
2021-11-09 14:11:33 +00:00
John Jones-Steele 938899a495 Minor fixups for terrain physics collide lyn 7692 (#5413)
* First commit

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* completed changes

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
2021-11-09 13:24:10 +00:00
Ken Pruiksma a2efc587cc Rendered World Size in the Terrain World Render component set to invisible (#5378)
It's not currently hooked up, so setting invisible for now until it does something.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
2021-11-05 15:31:31 -05:00
Mike Balfour 6a21d4f50d Merge pull request #5351 from aws-lumberyard-dev/terrain/mbalfour/use_ground_plane_non_functional
Use Ground Plane non functional
Added functionality to the "Use Ground Plane" toggle. Now, when it's enabled, the Terrain Layer Spawner will always provide valid terrain data at the minimum height of the spawner box, even if no Terrain Height Gradient List exists. If it's disabled, it won't provide any terrain data unless the Terrain Height Gradient List exists.
2021-11-05 12:14:24 -05:00
Mike Balfour df0403a5e6 Merge pull request #5333 from aws-lumberyard-dev/terrain/mbalfour/debugger_wireframe_refresh_bug
Fix terrain wireframe refresh.
2021-11-04 18:59:24 -05:00
Mike Balfour b0abb8dbc3 Merge branch 'stabilization/2110' into terrain/mbalfour/use_ground_plane_non_functional
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

# Conflicts:
#	Gems/Terrain/Code/Source/Components/TerrainHeightGradientListComponent.cpp
2021-11-04 18:00:17 -05:00
Mike Balfour 97b0eddcb4 Hook up the "Use Ground Plane" toggle.
The "Use Ground Plane" toggle is now functional.  When disabled, the terrain layer spawner will say "terrain exists = false" for any point in its bounds unless there's also a Terrain Height Gradient List component with a valid entry.  When enabled, it will always say "terrain exists = true", and it will return the min height of the spawner box as the ground plane if there's no valid Terrain Height Gradient List height provider.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2021-11-04 17:56:55 -05:00
Mike Balfour e32e1ce572 Fix terrain wireframe refresh.
If a terrain layer spawner went outside the world bounds, the debug wireframe wouldn't update correctly because the heights were outside the wireframe sector AABBs.  Adjusted the logic to account for this.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2021-11-04 15:55:37 -05:00
Mike Balfour 5b504086f9 Prevent infinite recursion with Altitude Gradient.
Using the Altitude Gradient as an input to the Height Gradient List can cause infinite recursion since it is both setting and fetching the same height value.  Added guards to warn if this occurs and gracefully handles the situation.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2021-11-04 15:27:00 -05:00
John Jones-Steele 021917ad27 Fix bug 4198 (#5107)
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
2021-10-29 09:42:40 +01:00
Mike Balfour 86270339d8 Added terrain surface data notifications (#5067)
* Fix notifications for surface data changes.
Separated the notifications from the surface component and the height component to add a reason to a RefreshArea request.  This makes it possible to distinguish between surface changes and height changes and provide the appropriate OnTerrainDataChanged flags.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Reworked to use a changeMask instead of separate calls.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* PR Feedback
Judicious use of "using" to reduce a bunch of bulky namespaces.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2021-10-28 16:17:38 -05:00