[Bf-blender-cvs] [6d1921dd816] master: Fix T62862 Eevee: Glitchy reflections in ortographic view

Clément Foucault noreply at git.blender.org
Wed Mar 27 19:15:34 CET 2019


Commit: 6d1921dd81664c74318b62ae1b2d5e609abce1b4
Author: Clément Foucault
Date:   Wed Mar 27 15:18:33 2019 +0100
Branches: master
https://developer.blender.org/rB6d1921dd81664c74318b62ae1b2d5e609abce1b4

Fix T62862 Eevee: Glitchy reflections in ortographic view

This was caused by sign(cubevec.xy) returning 0.0 when one component was 0.
Thus making the resulting component component 0.0 instead of 0.0.

===================================================================

M	source/blender/draw/engines/eevee/shaders/octahedron_lib.glsl

===================================================================

diff --git a/source/blender/draw/engines/eevee/shaders/octahedron_lib.glsl b/source/blender/draw/engines/eevee/shaders/octahedron_lib.glsl
index ec13c885bbb..dfd8fa8a56c 100644
--- a/source/blender/draw/engines/eevee/shaders/octahedron_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/octahedron_lib.glsl
@@ -2,11 +2,12 @@
 vec2 mapping_octahedron(vec3 cubevec, vec2 texel_size)
 {
 	/* projection onto octahedron */
-	cubevec /= dot( vec3(1), abs(cubevec) );
+	cubevec /= dot(vec3(1.0), abs(cubevec));
 
 	/* out-folding of the downward faces */
-	if ( cubevec.z < 0.0 ) {
-		cubevec.xy = (1.0 - abs(cubevec.yx)) * sign(cubevec.xy);
+	if (cubevec.z < 0.0) {
+		vec2 cubevec_sign = step(0.0, cubevec.xy) * 2.0 - 1.0;
+		cubevec.xy = (1.0 - abs(cubevec.yx)) * cubevec_sign;
 	}
 
 	/* mapping to [0;1]ˆ2 texture space */



More information about the Bf-blender-cvs mailing list