re-add DEPTH_WRITE_POM setting

This commit is contained in:
Xonk
2025-11-23 19:32:49 -05:00
parent b361c31e58
commit 2f1dbb513d
2 changed files with 14 additions and 6 deletions
+10 -5
View File
@@ -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);
+4 -1
View File
@@ -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