From 2f1dbb513d89afa28e18d6d8d73dc31b44d11e75 Mon Sep 17 00:00:00 2001 From: Xonk Date: Sun, 23 Nov 2025 19:32:49 -0500 Subject: [PATCH] re-add DEPTH_WRITE_POM setting --- shaders/dimensions/all_solid.fsh | 15 ++++++++++----- shaders/lib/settings.glsl | 5 ++++- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/shaders/dimensions/all_solid.fsh b/shaders/dimensions/all_solid.fsh index 22fc765..335f0a9 100644 --- a/shaders/dimensions/all_solid.fsh +++ b/shaders/dimensions/all_solid.fsh @@ -399,7 +399,9 @@ void main() { if(!ifPOM) maxdist = 0.0; - gl_FragDepth = gl_FragCoord.z; + #if defined DEPTH_WRITE_POM + gl_FragDepth = gl_FragCoord.z; + #endif if (falloff > 0.0) { @@ -422,7 +424,7 @@ void main() { float sumVec = noise; for (int loopCount = 0; (loopCount < MAX_OCCLUSION_POINTS) && (1.0 - pomdepth + pomdepth * readNormal(coord.st).a ) < coord.p && coord.p >= 0.0; ++loopCount) { coord = coord + interval * used_POM_DEPTH; - sumVec += used_POM_DEPTH; + sumVec += used_POM_DEPTH; #if defined POM_OFFSET_SHADOW_BIAS // absolutely disgusting but works for now @@ -443,9 +445,10 @@ void main() { adjustedTexCoord = mix(fract(coord.st)*vtexcoordam.pq+vtexcoordam.st, adjustedTexCoord, max(dist-MIX_OCCLUSION_DISTANCE,0.0)/(MAX_OCCLUSION_DISTANCE-MIX_OCCLUSION_DISTANCE)); - vec3 truePos = fragpos + sumVec*inverseMatrix(tbnMatrix)*interval; - - gl_FragDepth = toClipSpace3(truePos).z; + #if defined DEPTH_WRITE_POM + vec3 truePos = fragpos + sumVec*inverseMatrix(tbnMatrix)*interval; + gl_FragDepth = toClipSpace3(truePos).z; + #endif } } @@ -648,6 +651,8 @@ void main() { gl_FragData[1].b = SpecularTex.b; #endif + + #if DEBUG_VIEW == debug_MATERIAL_SSS Albedo.rgb = vec3(0.1); if(SSSAMOUNT > 0.0) Albedo.rgb = vec3(0.0,SSSAMOUNT,0.0); diff --git a/shaders/lib/settings.glsl b/shaders/lib/settings.glsl index ac79429..9042a0f 100644 --- a/shaders/lib/settings.glsl +++ b/shaders/lib/settings.glsl @@ -220,8 +220,9 @@ const float entityShadowDistanceMul = 0.25; // [0.01 0.02 0.03 0.04 0.05 0.10 0. #define POM_DEPTH 0.25 // [0.025 0.05 0.075 0.1 0.125 0.15 0.20 0.25 0.30 0.50 0.75 1.0] #define MAX_ITERATIONS 35 // [5 10 15 20 25 30 35 40 45 50 60 70 80 90 100 125 150 200 300 400 500] #define MAX_DIST 25.0 // [5.0 10.0 15.0 20.0 25.0 35.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0 125.0 150.0 200.0 300.0 400.0 500.0] +#define DEPTH_WRITE_POM -#ifdef POM +#if defined POM && defined DEPTH_WRITE_POM #define POM_OFFSET_SHADOW_BIAS #endif @@ -901,4 +902,6 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631) #ifdef ON_FIRE_DISTORT_EFFECT #endif #ifdef POM_OFFSET_SHADOW_BIAS +#endif +#ifdef DEPTH_WRITE_POM #endif \ No newline at end of file