diff --git a/servers/rendering/renderer_rd/shaders/effects/octmap_roughness.glsl b/servers/rendering/renderer_rd/shaders/effects/octmap_roughness.glsl index 7b910d5840..f9c35ef5aa 100644 --- a/servers/rendering/renderer_rd/shaders/effects/octmap_roughness.glsl +++ b/servers/rendering/renderer_rd/shaders/effects/octmap_roughness.glsl @@ -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]); diff --git a/servers/rendering/renderer_rd/shaders/effects/octmap_roughness_raster.glsl b/servers/rendering/renderer_rd/shaders/effects/octmap_roughness_raster.glsl index e5a0efc407..d74199ea4b 100644 --- a/servers/rendering/renderer_rd/shaders/effects/octmap_roughness_raster.glsl +++ b/servers/rendering/renderer_rd/shaders/effects/octmap_roughness_raster.glsl @@ -43,7 +43,8 @@ void main() { float solid_angle_texel = 4.0 * M_PI / (params.size * params.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]);