diff options
| author | Xiaohong Bao <bao@lindenlab.com> | 2011-09-01 17:18:16 -0600 | 
|---|---|---|
| committer | Xiaohong Bao <bao@lindenlab.com> | 2011-09-01 17:18:16 -0600 | 
| commit | 38c19f4e55c0f6a104de87dfb57313a6c529b4d6 (patch) | |
| tree | c44c6003e4438e38af12f78cb580a3ba9d951f9f | |
| parent | 7ee10ae1def26708fa44c25355982aa56195d5f9 (diff) | |
for SH-2242: fixes the assertion caused by gGL.diffuseColor4f when shadows is on.
| -rw-r--r-- | indra/newview/lldrawpoolavatar.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 10 | 
2 files changed, 9 insertions, 7 deletions
diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index f0eb52909d..96c4efde3d 100644 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -353,15 +353,15 @@ void LLDrawPoolAvatar::beginShadowPass(S32 pass)  	{  		sVertexProgram = &gDeferredAvatarShadowProgram; -		//gGL.setAlphaRejectSettings(LLRender::CF_GREATER_EQUAL, 0.2f); -		 -		gGL.diffuseColor4f(1,1,1,1); +		//gGL.setAlphaRejectSettings(LLRender::CF_GREATER_EQUAL, 0.2f);		  		if ((sShaderLevel > 0))  // for hardware blending  		{  			sRenderingSkinned = TRUE;  			sVertexProgram->bind();  		} + +		gGL.diffuseColor4f(1,1,1,1);  	}  	else  	{ diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index d9fa4881e7..f821ab8e34 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -4041,6 +4041,8 @@ void LLPipeline::renderGeomShadow(LLCamera& camera)  		pool_set_t::iterator iter2 = iter1;  		if (hasRenderType(poolp->getType()) && poolp->getNumShadowPasses() > 0)  		{ +			poolp->prerender() ; +  			gGLLastMatrix = NULL;  			glLoadMatrixd(gGLModelView); @@ -8341,12 +8343,8 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera  	}  	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); -			 -	gGL.diffuseColor4f(1,1,1,1);  	stop_glerror(); - -	gGL.setColorMask(false, false);  	//glCullFace(GL_FRONT); @@ -8357,6 +8355,10 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera  		{ //occlusion program is general purpose depth-only no-textures  			gOcclusionProgram.bind();  		} + +		gGL.diffuseColor4f(1,1,1,1); +		gGL.setColorMask(false, false); +	  		LLFastTimer ftm(FTM_SHADOW_SIMPLE);  		gGL.getTexUnit(0)->disable();  		for (U32 i = 0; i < sizeof(types)/sizeof(U32); ++i)  | 
