Merge pull request #114279 from clayjohn/sky-singularity

Avoid singularity during sky filtering
This commit is contained in:
Thaddeus Crews 2026-01-06 09:56:53 -06:00
commit f5c66ba68b
No known key found for this signature in database
GPG key ID: 8C6E5FEB5FC03CCC
2 changed files with 4 additions and 2 deletions

View file

@ -29,7 +29,8 @@ void main() {
float solid_angle_texel = 4.0 * M_PI / float(params.dest_size * params.dest_size);
float roughness2 = params.roughness * params.roughness;
float roughness4 = roughness2 * roughness2;
vec3 UpVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
vec3 UpVector = abs(N.y) < 0.999 ? vec3(0.0, 1.0, 0.0) : vec3(0.0, 0.0, 1.0);
mat3 T;
T[0] = normalize(cross(UpVector, N));
T[1] = cross(N, T[0]);

View file

@ -55,7 +55,8 @@ void main() {
float solid_angle_texel = 4.0 * M_PI / (params.dest_size * params.dest_size);
float roughness2 = params.roughness * params.roughness;
float roughness4 = roughness2 * roughness2;
vec3 UpVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
vec3 UpVector = abs(N.y) < 0.999 ? vec3(0.0, 1.0, 0.0) : vec3(0.0, 0.0, 1.0);
mat3 T;
T[0] = normalize(cross(UpVector, N));
T[1] = cross(N, T[0]);