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 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>
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 SurfacePoint data structure encapsulations (#7413) 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