summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2013-11-11 15:50:01 -0800
committerGraham Linden <graham@lindenlab.com>2013-11-11 15:50:01 -0800
commit10705b43600d31b31d903ed1d4e3aba0bd4e2963 (patch)
treedf43426032ec82dc34f9019a063a4cdfa00be1da /indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl
parent66b6bffca92261d418f9888be4c3542554ddb4af (diff)
parentebc9bcbf69f7a519677a6522979a6bf6cbb04bb8 (diff)
Merge 3.6.11 for RC-ability
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl')
-rwxr-xr-xindra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl13
1 files changed, 8 insertions, 5 deletions
diff --git a/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl b/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl
index 271947b2dd..39632d0cef 100755
--- a/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl
+++ b/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl
@@ -34,14 +34,17 @@ mat4 getObjectSkinnedTransform()
vec4 w = fract(weight4);
vec4 index = floor(weight4);
+
+ index = min(index, vec4(31.0));
+ index = max(index, vec4( 0.0));
float scale = 1.0/(w.x+w.y+w.z+w.w);
w *= scale;
-
- mat4 mat = matrixPalette[int(index.x)]*w.x;
- mat += matrixPalette[int(index.y)]*w.y;
- mat += matrixPalette[int(index.z)]*w.z;
- mat += matrixPalette[int(index.w)]*w.w;
+
+ mat4 mat = matrixPalette[int(index.x)]*w.x;
+ mat += matrixPalette[int(index.y)]*w.y;
+ mat += matrixPalette[int(index.z)]*w.z;
+ mat += matrixPalette[int(index.w)]*w.w;
return mat;
}