summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2013-04-22 13:59:25 -0500
committerDave Parks <davep@lindenlab.com>2013-04-22 13:59:25 -0500
commit3d7c1000625af4089476d14d1a8110842a23a104 (patch)
treed8e98d889bc0a00bf8225e345163f757919e562a /indra/newview
parent6881b01ea9f652507cb5dfc5da70458ca80c6d52 (diff)
NORSPEC-141 Back out a change that seems to cause shadow artifacts on rigged attachments.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl26
-rw-r--r--indra/newview/pipeline.cpp1
2 files changed, 10 insertions, 17 deletions
diff --git a/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl b/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl
index ff30560adc..2745d5fd95 100644
--- a/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl
+++ b/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl
@@ -30,24 +30,18 @@ uniform mat4 matrixPalette[64];
mat4 getObjectSkinnedTransform()
{
+ int i;
- float w0 = fract(weight4.x);
- float w1 = fract(weight4.y);
- float w2 = fract(weight4.z);
- float w3 = fract(weight4.w);
-
- int i0 = int(floor(weight4.x));
- int i1 = int(floor(weight4.y));
- int i2 = int(floor(weight4.z));
- int i3 = int(floor(weight4.w));
-
- //float scale = 1.0/(w.x+w.y+w.z+w.w);
- //w *= scale;
+ vec4 w = fract(weight4);
+ vec4 index = floor(weight4);
+
+ float scale = 1.0/(w.x+w.y+w.z+w.w);
+ w *= scale;
- mat4 mat = matrixPalette[i0]*w0;
- mat += matrixPalette[i1]*w1;
- mat += matrixPalette[i2]*w2;
- mat += matrixPalette[i3]*w3;
+ 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;
}
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index ca5adc6180..a2f57c5720 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -10040,7 +10040,6 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
{
static LLCullResult result[4];
- //LLGLEnable enable(GL_DEPTH_CLAMP_NV);
renderShadow(view[j], proj[j], shadow_cam, result[j], TRUE, TRUE, target_width);
}