v0.4.5: tegelvloer met witte rand i.p.v. gras, Lucht geen/dag/nacht, Render met daglicht + lampen

- core/skybox.js: tegelvloer (tiles.jpg) passend om het object, rand 100x25 mm wit
- nacht-panorama; nacht = 15% omgevingslicht + lampen 100%
- Render-knop met camera-icoon: echte lampen in het gekozen licht
- gras verwijderd (bestanden lokaal bewaard, uit git)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Machiel
2026-09-30 12:34:19 +02:00
co-authored by Claude Opus 5.5
parent 9ed9cee2e0
commit 7ae76fe390
12 changed files with 172 additions and 122 deletions
+9 -5
View File
@@ -700,7 +700,8 @@ function mountFloorEditor(container, callbacks) {
controls.update();
}
scene.add(new THREE.AmbientLight(0xffffff, 0.6));
const floorAmbient = new THREE.AmbientLight(0xffffff, 0.6);
scene.add(floorAmbient);
const dirLight = new THREE.DirectionalLight(0xffffff, 0.8);
dirLight.position.set(5, 8, 5);
dirLight.castShadow = true;
@@ -727,11 +728,14 @@ function mountFloorEditor(container, callbacks) {
isolatieVisible = v.isolatie;
update3DScene();
});
// Lucht en gras (core/skybox.js); de vloer staat met zijn onderkant op het gras.
let skyOn = Skybox.isOn();
// Omgeving (core/skybox.js: geen/dag/nacht); de vloer staat op de tegelvloer.
let skyMode = Skybox.getMode();
const skyEnv = Skybox.createEnvironment(scene);
const applySky = () => Skybox.apply(skyOn, { env: skyEnv, grid, controls, sun: dirLight, shadowRoot: floorGroup3D });
Skybox.createToggle(document.getElementById('floor-toolbar-3d'), (on) => { skyOn = on; applySky(); });
const applySky = () => {
skyEnv.fitTo(floorGroup3D, 0);
Skybox.apply(skyMode, { env: skyEnv, grid, controls, sun: dirLight, ambient: floorAmbient, base: { ambient: 0.6, sun: 0.8 }, shadowRoot: floorGroup3D });
};
Skybox.createToggle(document.getElementById('floor-toolbar-3d'), (m) => { skyMode = m; applySky(); });
function update3DScene() {
if (floorGroup3D) scene.remove(floorGroup3D);