From 6dad3894bdcbd79ce130fcccfa6a1ebb1dc3e82b Mon Sep 17 00:00:00 2001 From: German Khokhlov Date: Fri, 16 Oct 2026 15:06:15 +0400 Subject: [PATCH] fix(globe): sharpen sky mask past depth 0.99999, not >= 1 RGBA8 depth packing rounds near the far plane. --- src/globe/navara/sharpen.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/globe/navara/sharpen.js b/src/globe/navara/sharpen.js index 034adc686..2ddc7d4d8 100644 --- a/src/globe/navara/sharpen.js +++ b/src/globe/navara/sharpen.js @@ -34,6 +34,7 @@ const fragmentShader = /* glsl */ ` uniform float amount; uniform sampler2D tSceneDepth; uniform bool uSkipSky; +const float SKY_DEPTH = 0.99999; vec3 encodeGamma(vec3 color) { return pow(max(color, vec3(0.0)), vec3(1.0 / 2.2)); @@ -44,7 +45,8 @@ vec3 sampleGamma(vec2 uv) { } void mainImage(const in vec4 inputColor, const in vec2 uv, out vec4 outputColor) { - if (uSkipSky && unpackRGBAToDepth(texture2D(tSceneDepth, uv)) >= 1.0) { + // The far plane, with a margin: packing to RGBA8 rounds near 1.0. + if (uSkipSky && unpackRGBAToDepth(texture2D(tSceneDepth, uv)) > SKY_DEPTH) { outputColor = inputColor; return; }