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