diff options
| author | graham linden <graham@lindenlab.com> | 2013-05-02 09:12:20 -0700 | 
|---|---|---|
| committer | graham linden <graham@lindenlab.com> | 2013-05-02 09:12:20 -0700 | 
| commit | 33d22256663a074d6e7d9cb1b080b57202a06b05 (patch) | |
| tree | d926226beb28e0c94fc006fc708f419a328bede4 /indra | |
| parent | 91c618c8cdfdb57d18eeca4da7f7e986e6adb828 (diff) | |
| parent | 90c2be46bf677db00207a45478ade362b90d7a6c (diff) | |
Merged lindenlab/viewer-development-materials into default
Diffstat (limited to 'indra')
4 files changed, 30 insertions, 19 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl index 5d936233fe..a1dff9188f 100755 --- a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl @@ -321,8 +321,6 @@ void main()  			col += spec_contrib;  		} -		col = mix(col.rgb, diffuse.rgb, diffuse.a); -  		if (envIntensity > 0.0)  		{ //add environmentmap  			vec3 env_vec = env_mat * refnormpersp; @@ -332,6 +330,8 @@ void main()  		col = atmosLighting(col);  		col = scaleSoftClip(col); + +		col = mix(col.rgb, diffuse.rgb, diffuse.a);  	}  	frag_color.rgb = col; diff --git a/indra/newview/app_settings/shaders/class1/objects/emissiveSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/objects/emissiveSkinnedV.glsl index 3dab224258..9064904191 100755 --- a/indra/newview/app_settings/shaders/class1/objects/emissiveSkinnedV.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/emissiveSkinnedV.glsl @@ -48,6 +48,8 @@ void main()  	mat = modelview_matrix * mat;  	vec3 pos = (mat*vec4(position.xyz, 1.0)).xyz; +	vertex_color = emissive; +  	calcAtmospherics(pos.xyz);  	gl_Position = projection_matrix*vec4(pos, 1.0); diff --git a/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl index 15584548cc..10a598a85c 100755 --- a/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl @@ -330,8 +330,6 @@ void main()  			col += spec_contrib;  		} -		col = mix(col, diffuse.rgb, diffuse.a); -  		if (envIntensity > 0.0)  		{ //add environmentmap  			vec3 env_vec = env_mat * refnormpersp; @@ -341,6 +339,8 @@ void main()  		col = atmosLighting(col);  		col = scaleSoftClip(col); + +		col = mix(col.rgb, diffuse.rgb, diffuse.a);  	} diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 612741e57c..ef8df305e3 100755 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -252,10 +252,11 @@ void LLDrawPoolAvatar::beginPostDeferredPass(S32 pass)  	case 4:  		beginRiggedFullbrightAlpha();  		break; -	case 5: +	case 9:  		beginRiggedGlow(); +		break;  	default: -		beginDeferredRiggedMaterialAlpha(pass-6); +		beginDeferredRiggedMaterialAlpha(pass-5);  		break;  	}  } @@ -368,14 +369,14 @@ void LLDrawPoolAvatar::renderPostDeferred(S32 pass)  		13, //rigged glow  	}; -	pass = actual_pass[pass]; +	S32 p = actual_pass[pass];  	if (LLPipeline::sImpostorRender)  	{ //HACK for impostors so actual pass ends up being proper pass -		pass -= 2; +		p -= 2;  	} -	render(pass); +	render(p);  } @@ -1299,20 +1300,28 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass)  			return;  		} -		S32 p = 0; -		switch (pass) +		if (LLPipeline::sRenderDeferred)  		{ -		case 9: p = 1; break; -		case 10: p = 5; break; -		case 11: p = 9; break; -		case 12: p = 13; break; -		} +			S32 p = 0; +			switch (pass) +			{ +			case 9: p = 1; break; +			case 10: p = 5; break; +			case 11: p = 9; break; +			case 12: p = 13; break; +			} +			{ +				LLGLEnable blend(GL_BLEND); +				renderDeferredRiggedMaterial(avatarp, p); +			} +			return; +		} +		else if (pass == 9)  		{ -			LLGLEnable blend(GL_BLEND); -			renderDeferredRiggedMaterial(avatarp, p); +			renderRiggedGlow(avatarp); +			return;  		} -		return;  	}  	if (pass == 13)  | 
