diff options
author | Graham Linden <graham@lindenlab.com> | 2013-09-16 12:23:46 -0700 |
---|---|---|
committer | Graham Linden <graham@lindenlab.com> | 2013-09-16 12:23:46 -0700 |
commit | 6184ad34e44968e27c987e16247b5d4663eb06fa (patch) | |
tree | c1cfaf4f4078fcc2c578c780ff5e7bf9852e4508 /indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl | |
parent | e3963666fd54f5cb1b43bc70b77660079bad5ab5 (diff) |
MAINT-3107 speculative changes to try to ameliorate rigged crasher on Intel HD with crappy default driver
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl')
-rwxr-xr-x | indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl | 8 |
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); |