summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl')
-rwxr-xr-xindra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl8
1 files changed, 5 insertions, 3 deletions
diff --git a/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl b/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl
index bc63d07d72..3df4d333ce 100755
--- a/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl
+++ b/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl
@@ -31,10 +31,12 @@ uniform vec4 matrixPalette[45];
mat4 getSkinnedTransform()
{
mat4 ret;
- int i = int(floor(weight.x));
+
float x = fract(weight.x);
-
- ret[0] = mix(matrixPalette[i+0], matrixPalette[i+1], x);
+ int i = int(floor(weight.x));
+ i = min(i, 15);
+ i = max(i, 0);
+ ret[0] = mix(matrixPalette[i+0], matrixPalette[i+1], x);
ret[1] = mix(matrixPalette[i+15],matrixPalette[i+16], x);
ret[2] = mix(matrixPalette[i+30],matrixPalette[i+31], x);
ret[3] = vec4(0,0,0,1);