diff options
author | Dave Parks <davep@lindenlab.com> | 2013-06-03 12:50:48 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2013-06-03 12:50:48 -0500 |
commit | c3f14b915c38a4978745f12f1f816572cce4b5a0 (patch) | |
tree | f1a817ec82c8acefc950e724fd5fa3f068fc7181 /indra/newview/app_settings/shaders/class1/deferred/bumpSkinnedV.glsl | |
parent | a16d32e82edb19b6a3df6516c9726ac5913c1689 (diff) |
NORSPEC-229 Fix for bad binormals on mirrored surfaces (use tangent calculator instead of binormal calculator, convert binormal centric code to tangent centric)
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred/bumpSkinnedV.glsl')
-rwxr-xr-x | indra/newview/app_settings/shaders/class1/deferred/bumpSkinnedV.glsl | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/bumpSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/deferred/bumpSkinnedV.glsl index 8ba75010a2..10144f3e16 100755 --- a/indra/newview/app_settings/shaders/class1/deferred/bumpSkinnedV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/bumpSkinnedV.glsl @@ -30,7 +30,7 @@ ATTRIBUTE vec3 position; ATTRIBUTE vec4 diffuse_color; ATTRIBUTE vec3 normal; ATTRIBUTE vec2 texcoord0; -ATTRIBUTE vec3 binormal; +ATTRIBUTE vec4 tangent; VARYING vec3 vary_mat0; VARYING vec3 vary_mat1; @@ -52,8 +52,8 @@ void main() vec3 n = normalize((mat * vec4(normal.xyz+position.xyz, 1.0)).xyz-pos.xyz); - vec3 b = normalize((mat * vec4(binormal.xyz+position.xyz, 1.0)).xyz-pos.xyz); - vec3 t = cross(b, n); + vec3 t = normalize((mat * vec4(tangent.xyz+position.xyz, 1.0)).xyz-pos.xyz); + vec3 b = cross(n, t) * tangent.w; vary_mat0 = vec3(t.x, b.x, n.x); vary_mat1 = vec3(t.y, b.y, n.y); |