From d271ebea50f1448e6990b8e426f5758b2ae1f599 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Wed, 29 Apr 2026 23:17:55 +0200 Subject: [PATCH] Refactor terrain material handling to use dedicated detail and distant materials --- src/runtime-three/runtime-host.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/runtime-three/runtime-host.ts b/src/runtime-three/runtime-host.ts index 0e34ab5f..9ab07bb3 100644 --- a/src/runtime-three/runtime-host.ts +++ b/src/runtime-three/runtime-host.ts @@ -4059,7 +4059,8 @@ export class RuntimeHost { enabled: true }; const lodMeshData = buildTerrainLodMeshData(terrainForLod); - const material = this.createRuntimeTerrainMaterial(terrain); + const detailMaterial = this.createRuntimeTerrainMaterial(terrain); + const distantMaterial = this.createRuntimeTerrainDistantMaterial(terrain); const group = new Group(); const chunks: RuntimeTerrainRenderChunkObjects[] = []; @@ -4068,7 +4069,7 @@ export class RuntimeHost { for (const chunk of lodMeshData.chunks) { const levelGeometries = chunk.levels.map((level) => level.geometry); - const mesh = new Mesh(levelGeometries[0]!, material); + const mesh = new Mesh(levelGeometries[0]!, detailMaterial); mesh.castShadow = false; mesh.receiveShadow = true; mesh.userData.terrainLodLevel = 0; @@ -4092,7 +4093,8 @@ export class RuntimeHost { this.terrainMeshes.set(terrain.id, { group, chunks, - material + detailMaterial, + distantMaterial }); }