Fix T51862: principled shader GLSL artifacts in ortho mode.
authorBrecht Van Lommel <brechtvanlommel@gmail.com>
Wed, 21 Jun 2017 19:31:08 +0000 (21:31 +0200)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Wed, 21 Jun 2017 19:31:08 +0000 (21:31 +0200)
source/blender/gpu/shaders/gpu_shader_material.glsl

index a7ff8c1529f67bdc06f1ce2648e18d6bb977d8de..ef2060122e0b510d0f9155b06e3d838a4f0a78c7 100644 (file)
@@ -2630,7 +2630,7 @@ void node_bsdf_principled(vec4 base_color, float subsurface, vec3 subsurface_rad
        float eta = (2.0 / (1.0 - sqrt(0.08 * specular))) - 1.0;
 
        /* set the viewing vector */
-       vec3 V = -normalize(I);
+       vec3 V = (gl_ProjectionMatrix[3][3] == 0.0) ? -normalize(I) : vec3(0.0, 0.0, 1.0);
 
        /* get the tangent */
        vec3 Tangent = T;