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 | |
| parent | 82b87e3acb1441ae56fcd08f53f8a83aee45a62f (diff) | |
| parent | 95672cabb98fb311010cf3ff5571b3422b4dec71 (diff) | |
Merged lindenlab/viewer-development-materials into default
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl | 26 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 6 | 
2 files changed, 15 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 a5e19e4c06..9010abce01 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -917,6 +917,11 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)  		{  			screenFormat = GL_RGBA12;  		} + +		if (gGLManager.mGLVersion < 4.f && gGLManager.mIsNVIDIA) +		{ +			screenFormat = GL_RGBA16F_ARB; +		}  		if (!mScreen.allocate(resX, resY, screenFormat, FALSE, FALSE, LLTexUnit::TT_RECT_TEXTURE, FALSE, samples)) return false;  		if (samples > 0) @@ -10040,7 +10045,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);  			} | 
