You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Gems/Terrain/Code/Source/Components
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>
4 years ago
..
TerrainHeightGradientListComponent.cpp Making terrain query resolution a single float instead of a Vector2 (#7186) 4 years ago
TerrainHeightGradientListComponent.h Making terrain query resolution a single float instead of a Vector2 (#7186) 4 years ago
TerrainLayerSpawnerComponent.cpp LYN-7376 test_TerrainHeightGradientList_AddRemoveGradients 4 years ago
TerrainLayerSpawnerComponent.h LYN-7376 test_TerrainHeightGradientList_AddRemoveGradients 4 years ago
TerrainPhysicsColliderComponent.cpp Making terrain query resolution a single float instead of a Vector2 (#7186) 4 years ago
TerrainPhysicsColliderComponent.h LYN-7637 Allow Terrain Physics Collider to assign a default physics material 4 years ago
TerrainSurfaceDataSystemComponent.cpp Misc SurfaceData Optimizations (#7299) 4 years ago
TerrainSurfaceDataSystemComponent.h review changes 4 years ago
TerrainSurfaceGradientListComponent.cpp Add GetHeights() and GetSurfaceWeightsFromList() APIs. (#7121) 4 years ago
TerrainSurfaceGradientListComponent.h Add GetHeights() and GetSurfaceWeightsFromList() APIs. (#7121) 4 years ago
TerrainSystemComponent.cpp LYN-8551 Terrain: Renderer: Create compute pass for clipmaps (#7116) 4 years ago
TerrainSystemComponent.h LYN-8551 Terrain: Renderer: Create compute pass for clipmaps (#7116) 4 years ago
TerrainWorldComponent.cpp Making terrain query resolution a single float instead of a Vector2 (#7186) 4 years ago
TerrainWorldComponent.h Making terrain query resolution a single float instead of a Vector2 (#7186) 4 years ago
TerrainWorldDebuggerComponent.cpp Making terrain query resolution a single float instead of a Vector2 (#7186) 4 years ago
TerrainWorldDebuggerComponent.h Making terrain query resolution a single float instead of a Vector2 (#7186) 4 years ago
TerrainWorldRendererComponent.cpp Rendered World Size in the Terrain World Render component set to invisible (#5378) 4 years ago
TerrainWorldRendererComponent.h Fix console warning when adding TerrainWorldRendererComponent (#4964) 4 years ago