auto-git:

[change] src/rendering/world-background-renderer.ts
This commit is contained in:
2026-04-22 17:42:42 +02:00
parent d54fbc98f6
commit 10d8b358ce

View File

@@ -983,88 +983,6 @@ export class WorldBackgroundRenderer {
mesh.visible = true;
}
private syncShaderSkyState(state: WorldShaderSkyRenderState | null) {
if (state === null) {
this.shaderSkyMaterial.uniforms.uHorizonHeight.value = 0;
this.shaderSkyMaterial.uniforms.uStarVisibility.value = 0;
this.shaderSkyMaterial.uniforms.uStarHorizonFadeOffset.value = 0;
this.shaderSkyMaterial.uniforms.uSunVisible.value = 0;
this.shaderSkyMaterial.uniforms.uMoonVisible.value = 0;
return;
}
this.shaderSkyMaterial.uniforms.uSkyTopColor.value.set(
state.sky.topColorHex
);
this.shaderSkyMaterial.uniforms.uSkyBottomColor.value.set(
state.sky.bottomColorHex
);
this.shaderSkyMaterial.uniforms.uHorizonHeight.value =
state.sky.horizonHeight;
this.shaderSkyMaterial.uniforms.uSunDirection.value.set(
state.celestial.sunDirection.x,
state.celestial.sunDirection.y,
state.celestial.sunDirection.z
);
this.shaderSkyMaterial.uniforms.uSunColor.value.set(
state.celestial.sunColorHex
);
this.shaderSkyMaterial.uniforms.uSunIntensity.value =
state.celestial.sunIntensity;
this.shaderSkyMaterial.uniforms.uSunDiscSizeDegrees.value =
state.celestial.sunDiscSizeDegrees;
this.shaderSkyMaterial.uniforms.uSunVisible.value = state.celestial
.sunVisible
? 1
: 0;
this.shaderSkyMaterial.uniforms.uMoonDirection.value.set(
state.celestial.moonDirection.x,
state.celestial.moonDirection.y,
state.celestial.moonDirection.z
);
this.shaderSkyMaterial.uniforms.uMoonColor.value.set(
state.celestial.moonColorHex
);
this.shaderSkyMaterial.uniforms.uMoonIntensity.value =
state.celestial.moonIntensity;
this.shaderSkyMaterial.uniforms.uMoonDiscSizeDegrees.value =
state.celestial.moonDiscSizeDegrees;
this.shaderSkyMaterial.uniforms.uMoonVisible.value = state.celestial
.moonVisible
? 1
: 0;
this.shaderSkyMaterial.uniforms.uDaylightFactor.value =
state.time.daylightFactor;
this.shaderSkyMaterial.uniforms.uTwilightFactor.value =
state.time.twilightFactor;
this.shaderSkyMaterial.uniforms.uStarDensity.value = state.stars.density;
this.shaderSkyMaterial.uniforms.uStarBrightness.value =
state.stars.brightness;
this.shaderSkyMaterial.uniforms.uStarVisibility.value =
state.stars.visibility;
this.shaderSkyMaterial.uniforms.uStarHorizonFadeOffset.value =
state.stars.horizonFadeOffset;
this.shaderSkyMaterial.uniforms.uStarRotationRadians.value =
state.stars.rotationRadians;
this.shaderSkyMaterial.uniforms.uCloudCoverage.value =
state.clouds.coverage;
this.shaderSkyMaterial.uniforms.uCloudDensity.value = state.clouds.density;
this.shaderSkyMaterial.uniforms.uCloudSoftness.value =
state.clouds.softness;
this.shaderSkyMaterial.uniforms.uCloudScale.value = state.clouds.scale;
this.shaderSkyMaterial.uniforms.uCloudHeight.value = state.clouds.height;
this.shaderSkyMaterial.uniforms.uCloudHeightVariation.value =
state.clouds.heightVariation;
this.shaderSkyMaterial.uniforms.uCloudTint.value.set(state.clouds.tintHex);
this.shaderSkyMaterial.uniforms.uCloudOpacity.value = state.clouds.opacity;
this.shaderSkyMaterial.uniforms.uCloudOpacityRandomness.value =
state.clouds.opacityRandomness;
this.shaderSkyMaterial.uniforms.uCloudDriftOffset.value.set(
state.clouds.driftOffset.x,
state.clouds.driftOffset.y
);
}
private syncCelestialBodyPose(
mesh: Mesh,
state: WorldCelestialBodyState | null,