[Bf-blender-cvs] [3888227a7bf] blender2.8: material Glsl: Fix tangent with new orco.

Clément Foucault noreply at git.blender.org
Thu Jun 29 17:08:29 CEST 2017


Commit: 3888227a7bfdb6b3867680ea237152d2929e1bc5
Author: Clément Foucault
Date:   Thu Jun 29 15:49:20 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB3888227a7bfdb6b3867680ea237152d2929e1bc5

material Glsl: Fix tangent with new orco.

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

M	source/blender/gpu/shaders/gpu_shader_material.glsl

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

diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl
index e0e44bccfc0..1598c987143 100644
--- a/source/blender/gpu/shaders/gpu_shader_material.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_material.glsl
@@ -2936,17 +2936,17 @@ void node_uvmap(vec3 attr_uv, out vec3 outvec)
 
 void tangent_orco_x(vec3 orco_in, out vec3 orco_out)
 {
-	orco_out = vec3(0.0, (orco_in.z - 0.5) * -0.5, (orco_in.y - 0.5) * 0.5);
+	orco_out = orco_in.xzy * vec3(0.0, -0.25, 0.25);
 }
 
 void tangent_orco_y(vec3 orco_in, out vec3 orco_out)
 {
-	orco_out = vec3((orco_in.z - 0.5) * -0.5, 0.0, (orco_in.x - 0.5) * 0.5);
+	orco_out = orco_in.zyx * vec3(-0.25, 0.0, 0.25);
 }
 
 void tangent_orco_z(vec3 orco_in, out vec3 orco_out)
 {
-	orco_out = vec3((orco_in.y - 0.5) * -0.5, (orco_in.x - 0.5) * 0.5, 0.0);
+	orco_out = orco_in.yxz * vec3(-0.25, 0.25, 0.0);
 }
 
 void node_tangentmap(vec4 attr_tangent, mat4 toworld, out vec3 tangent)
@@ -2988,7 +2988,7 @@ void node_tex_coord(
         out vec3 generated, out vec3 normal, out vec3 uv, out vec3 object,
         out vec3 camera, out vec3 window, out vec3 reflection)
 {
-	generated = attr_orco;
+	generated = attr_orco * 0.5 + 0.5;
 	normal = normalize((obinvmat * (viewinvmat * vec4(N, 0.0))).xyz);
 	uv = attr_uv;
 	object = (obinvmat * (viewinvmat * vec4(I, 1.0))).xyz;




More information about the Bf-blender-cvs mailing list