Exemple #1
0
void LLDrawPoolBump::render(S32 pass)
{
	LLFastTimer t(FTM_RENDER_BUMP);
	
	if (!gPipeline.hasRenderType(LLDrawPool::POOL_SIMPLE))
	{
		return;
	}
	
	switch( pass )
	{
		case 0:
			renderShiny();
			break;
		case 1:
			if (mVertexShaderLevel > 1)
			{
				renderFullbrightShiny();
			}
			else 
			{
				renderBump(); 
			}
			break;
		case 2:
			renderBump();
			break;
		default:
			llassert(0);
			break;
	}
}
Exemple #2
0
void LLDrawPoolBump::renderPostDeferred(S32 pass)
{
	switch (pass)
	{
	case 0:
		renderFullbrightShiny();
		break;
	case 1:
		renderBump(LLRenderPass::PASS_POST_BUMP);
		break;
	}
}
void LLDrawPoolBump::renderPostDeferred(S32 pass)
{
	switch (pass)
	{
	case 0:
		gGL.setColorMask(true, true);
		renderFullbrightShiny();
		gGL.setColorMask(true, false);
		break;
	case 1:
		renderBump(LLRenderPass::PASS_POST_BUMP);
		break;
	}
}
Exemple #4
0
//static
void LLDrawPoolBump::renderBump(U32 pass)
{
	if (!gPipeline.hasRenderBatches(pass))
	{
		return;
	}

	LLFastTimer ftm(FTM_RENDER_BUMP);
	LLGLDisable fog(GL_FOG);
	LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE, GL_LEQUAL);
	LLGLEnable blend(GL_BLEND);
	glColor4f(1,1,1,1);
	/// Get rid of z-fighting with non-bump pass.
	LLGLEnable polyOffset(GL_POLYGON_OFFSET_FILL);
	glPolygonOffset(-1.0f, -1.0f);
	renderBump(pass, sVertexMask);
}