Refactor resource disposal for terrain grid resize arrow visuals

This commit is contained in:
2026-05-13 14:41:11 +02:00
parent 3c16d779c0
commit 2abebea105

View File

@@ -2308,16 +2308,26 @@ export class ViewportHost {
this.terrainGridResizeEdgeTube.material.dispose();
this.terrainGridResizeEdgeLine.geometry.dispose();
this.terrainGridResizeEdgeLine.material.dispose();
this.terrainGridResizeArrowShaftOutline.geometry.dispose();
this.terrainGridResizeArrowShaftOutline.material.dispose();
this.terrainGridResizeArrowShaft.geometry.dispose();
this.terrainGridResizeArrowShaft.material.dispose();
this.terrainGridResizeArrowLine.geometry.dispose();
this.terrainGridResizeArrowLine.material.dispose();
this.terrainGridResizeArrowHeadOutline.geometry.dispose();
this.terrainGridResizeArrowHeadOutline.material.dispose();
this.terrainGridResizeArrowHead.geometry.dispose();
this.terrainGridResizeArrowHead.material.dispose();
for (const visual of this.terrainGridResizeArrowVisuals) {
for (const object of [
visual.shaftOutline,
visual.shaft,
visual.line,
visual.headOutline,
visual.head,
visual.pickShaft,
visual.pickHead
]) {
object.geometry.dispose();
const materials = Array.isArray(object.material)
? object.material
: [object.material];
for (const material of materials) {
material.dispose();
}
}
}
this.environmentBlendCache.dispose();
this.shaderSkyEnvironmentBlendCache.dispose();
this.shaderSkyEnvironmentCache.dispose();