Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzymon Ulatowski <szulat>2020-07-13 18:02:19 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-07-13 18:08:58 +0300
commit29da019cb3532524f336ecd2c33c837dce6a3ef3 (patch)
tree282c8ef7de977498142e2c0e53fd518bed360d07 /source/blender/gpu/shaders/material
parent16989c4d1d3283c316bbdb0486f02107647caeeb (diff)
EEVEE: Fix sky zenith bug
Careless use of acos() in spherical coordinates transformation was deteriorating the precision near zenith (and nadir) and producing glitchy pixels (best seen in longer focal lengths). Reviewed By: fclem Differential Revision: https://developer.blender.org/D8266
Diffstat (limited to 'source/blender/gpu/shaders/material')
-rw-r--r--source/blender/gpu/shaders/material/gpu_shader_material_tex_sky.glsl2
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_tex_sky.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_tex_sky.glsl
index b2f6147b629..b6aad5904ff 100644
--- a/source/blender/gpu/shaders/material/gpu_shader_material_tex_sky.glsl
+++ b/source/blender/gpu/shaders/material/gpu_shader_material_tex_sky.glsl
@@ -14,7 +14,7 @@ float sky_angle_between(float thetav, float phiv, float theta, float phi)
vec3 sky_spherical_coordinates(vec3 dir)
{
- return vec3(acos(dir.z), atan(dir.x, dir.y), 0);
+ return vec3(M_PI_2 - atan(dir.z, length(dir.xy)), atan(dir.x, dir.y), 0);
}
/* Preetham */