Improve road surface rendering and implement resource disposal logic

This commit is contained in:
2026-05-13 01:12:59 +02:00
parent 7d9b023515
commit eb4eba461b

View File

@@ -3198,6 +3198,13 @@ export class RuntimeHost {
); );
} }
for (const renderObjects of this.roadSurfaceMeshes.values()) {
applyAdvancedRenderingRenderableShadowFlags(
renderObjects.mesh,
shadowsEnabled
);
}
applyAdvancedRenderingRenderableShadowFlags( applyAdvancedRenderingRenderableShadowFlags(
this.foliageRenderer.group, this.foliageRenderer.group,
shadowsEnabled shadowsEnabled
@@ -5127,6 +5134,16 @@ export class RuntimeHost {
this.terrainMeshes.clear(); 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) { private rebuildFoliage(runtimeScene: RuntimeSceneDefinition) {
this.foliageRenderer.sync({ this.foliageRenderer.sync({
terrains: runtimeScene.foliage.terrains, terrains: runtimeScene.foliage.terrains,