This commit is contained in:
2026-02-24 11:44:01 -08:00
parent c9839c9be6
commit 1c3c30e6ce
34 changed files with 1629 additions and 1271 deletions

View File

@ -8,6 +8,7 @@ uniform sampler2D gbufferD;
uniform sampler2D gbuffer0;
uniform sampler2D gbuffer1;
uniform mat4 invVP;
uniform mat4 invW;
uniform vec3 probep;
uniform vec3 eye;
@ -25,19 +26,27 @@ void main() {
float roughness = g0.b;
if (roughness > 0.95) {
fragColor.rgb = vec3(0.0);
fragColor = vec4(0.0);
return;
}
float spec = fract(textureLod(gbuffer1, texCoord, 0.0).a);
if (spec == 0.0) {
fragColor.rgb = vec3(0.0);
fragColor = vec4(0.0);
return;
}
float depth = textureLod(gbufferD, texCoord, 0.0).r * 2.0 - 1.0;
vec3 wp = getPos2(invVP, depth, texCoord);
vec3 localPos = (invW * vec4(wp, 1.0)).xyz;
// return if surface is inside probe volume bounds
if (abs(localPos.x) > 1.0 || abs(localPos.y) > 1.0 || abs(localPos.z) > 1.0) {
fragColor = vec4(0.0);
return;
}
vec2 enc = g0.rg;
vec3 n;
n.z = 1.0 - abs(enc.x) - abs(enc.y);
@ -50,5 +59,5 @@ void main() {
r.y = -r.y;
#endif
float intensity = clamp((1.0 - roughness) * dot(wp - probep, n), 0.0, 1.0);
fragColor.rgb = texture(probeTex, r).rgb * intensity;
fragColor = vec4(texture(probeTex, r).rgb * intensity, 1.0);
}

View File

@ -20,6 +20,10 @@
"name": "invVP",
"link": "_inverseViewProjectionMatrix"
},
{
"name": "invW",
"link": "_inverseWorldMatrix"
},
{
"name": "probep",
"link": "_probePosition"