mapspinner 0.1.24 → 0.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/shaders/terrain.glsl +4 -4
package/package.json
CHANGED
package/src/shaders/terrain.glsl
CHANGED
|
@@ -628,7 +628,7 @@ highp float composeHeight(vec3 dir0, highp vec2 faceLocal, float tileM){ // W7
|
|
|
628
628
|
// anchorpoints (low reliefMul = flat plains, non-mtn, non-wet, non-cold). Fades to zero
|
|
629
629
|
// by reliefMul ~0.5 so mountains are unaffected.
|
|
630
630
|
float flatGate = max(0.0, 1.0 - reliefMul * 2.0);
|
|
631
|
-
h += snoise3(dir0 *
|
|
631
|
+
h += snoise3(dir0 * 1400.0) * flatGate * uDetailOverlay * 35.0;
|
|
632
632
|
// LAKE CARVE + flat-water plane
|
|
633
633
|
float lakeWetV; float lakeCarveRaw = lakeCarveM(dir0, lakeWetV);
|
|
634
634
|
// uCarveWide=1 widens the carve CLIMATE gates so the gorge/lake/dune depth fades in over a wide
|
|
@@ -1860,7 +1860,7 @@ void main() {
|
|
|
1860
1860
|
// no extra sampling, seam-safe, zero FPS cost vs the old single-term version.
|
|
1861
1861
|
float aoAmt = (uAoAmt > 0.0 ? uAoAmt : 1.0);
|
|
1862
1862
|
float gorgeAO = 0.0; // canyon AO decoupled (user 2026-06-10: canyons impose ELEVATION only, no material/AO keying)
|
|
1863
|
-
float slopeAO = smoothstep(0.
|
|
1863
|
+
float slopeAO = smoothstep(0.20, 0.90, slope) * 0.35; // gentle-slope AO reveals midday relief (0.20->0.90 from 0.45->0.95, peak 0.35)
|
|
1864
1864
|
float cliffAO = 1.0 - min(gorgeAO + slopeAO, 0.75) * aoAmt; // cap so faces never go black
|
|
1865
1865
|
// STRONGER NORMAL-DRIVEN SHADING (user 2026-06-03: 'normals arent affecting the lit view properly').
|
|
1866
1866
|
// The lit relief was too subtle (witnessed litON SD 6.4 vs flat 5.9 = only ~8% contrast) because
|
|
@@ -1883,7 +1883,7 @@ void main() {
|
|
|
1883
1883
|
// W5: vShadeAO (per-vertex, from the deleted VS gradient) RECOMPUTED here from the Sobel slope (user
|
|
1884
1884
|
// 2026-06-07 'recompute AO from Sobel'). creaseAO = slope*0.45 (steep landform -> valley/crease
|
|
1885
1885
|
// occlusion); microAO from the fine per-pixel gslope. uVertexAO lever + the 0.45 floor preserved.
|
|
1886
|
-
float fsShadeAO = clamp(1.0 - (slope * 0.
|
|
1886
|
+
float fsShadeAO = clamp(1.0 - (slope * 0.55 + gslope * 0.40) * uVertexAO, 0.50, 1.0);
|
|
1887
1887
|
// FADE-IN FIX (user 'a layer fades in at close distance'): vAO was mix(1.0, fsShadeAO, nearFade) where
|
|
1888
1888
|
// nearFade rises 0->1 as pxWorld shrinks 180->8m on approach -> the Sobel crease-AO darkening animated
|
|
1889
1889
|
// IN as the camera neared = the visible 'layer fading in'. fsShadeAO is a per-pixel SOBEL-slope quantity
|
|
@@ -2056,7 +2056,7 @@ void main() {
|
|
|
2056
2056
|
// unaffected because the fill is weighted by (1-dayShade). Raised from the old earthshine 0.012/0.018/
|
|
2057
2057
|
// 0.032 (still read as black) to a clearly-visible dim blue so framed night terrain stays legible.
|
|
2058
2058
|
vec3 nightFill = vec3(0.06, 0.075, 0.11) * uNightLights;
|
|
2059
|
-
vec3 color2 = (color * dayShade + nightFill * (1.0 - dayShade))
|
|
2059
|
+
vec3 color2 = (color * dayShade + nightFill * (1.0 - dayShade));
|
|
2060
2060
|
// HDR -> SDR: ACES tonemap. Exposure 1.7 -> 1.25 so the N.sun + dayShade gradient SPREADS across the
|
|
2061
2061
|
// tonemap's linear range instead of clipping flat to the bright shoulder (the orbit-flatness root).
|
|
2062
2062
|
vec3 c = color2 * uExposure; // exposure 1.25->uExposure(1.0): stop the bright ACES-shoulder wash
|