diff options
| author | graham linden <graham@lindenlab.com> | 2013-04-23 18:40:12 -0700 | 
|---|---|---|
| committer | graham linden <graham@lindenlab.com> | 2013-04-23 18:40:12 -0700 | 
| commit | b2cd1144713e4e1bbf77edf6547f633be55ab8ea (patch) | |
| tree | 2bd9caa3b26fd988c618d6ff286d5876b00f791e /indra/newview/app_settings/shaders/class1 | |
| parent | 82b87e3acb1441ae56fcd08f53f8a83aee45a62f (diff) | |
| parent | 95672cabb98fb311010cf3ff5571b3422b4dec71 (diff) | |
Merged lindenlab/viewer-development-materials into default
Diffstat (limited to 'indra/newview/app_settings/shaders/class1')
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl | 26 | 
1 files changed, 10 insertions, 16 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;  } | 
