Improve geometry disposal when clearing terrain meshes
This commit is contained in:
@@ -4935,13 +4935,18 @@ export class RuntimeHost {
|
||||
private clearTerrainMeshes() {
|
||||
for (const renderObjects of this.terrainMeshes.values()) {
|
||||
this.terrainGroup.remove(renderObjects.group);
|
||||
const geometries = new Set<BufferGeometry>();
|
||||
|
||||
for (const chunk of renderObjects.chunks) {
|
||||
for (const mesh of chunk.levels) {
|
||||
mesh.geometry.dispose();
|
||||
for (const geometry of chunk.levelGeometries) {
|
||||
geometries.add(geometry);
|
||||
}
|
||||
}
|
||||
|
||||
for (const geometry of geometries) {
|
||||
geometry.dispose();
|
||||
}
|
||||
|
||||
renderObjects.material.dispose();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user