From eb4eba461b7e88dec0dc7b8d32b19b671874d635 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Wed, 13 May 2026 01:12:59 +0200 Subject: [PATCH] Improve road surface rendering and implement resource disposal logic --- src/runtime-three/runtime-host.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/runtime-three/runtime-host.ts b/src/runtime-three/runtime-host.ts index 209d6b93..4915063b 100644 --- a/src/runtime-three/runtime-host.ts +++ b/src/runtime-three/runtime-host.ts @@ -3198,6 +3198,13 @@ export class RuntimeHost { ); } + for (const renderObjects of this.roadSurfaceMeshes.values()) { + applyAdvancedRenderingRenderableShadowFlags( + renderObjects.mesh, + shadowsEnabled + ); + } + applyAdvancedRenderingRenderableShadowFlags( this.foliageRenderer.group, shadowsEnabled @@ -5127,6 +5134,16 @@ export class RuntimeHost { this.terrainMeshes.clear(); } + private clearRoadSurfaces() { + for (const renderObjects of this.roadSurfaceMeshes.values()) { + this.roadSurfaceGroup.remove(renderObjects.mesh); + renderObjects.mesh.geometry.dispose(); + renderObjects.mesh.material.dispose(); + } + + this.roadSurfaceMeshes.clear(); + } + private rebuildFoliage(runtimeScene: RuntimeSceneDefinition) { this.foliageRenderer.sync({ terrains: runtimeScene.foliage.terrains,