コード例 #1
0
void PopAllTriangleListTransparency() {
	
	ARX_PROFILE_FUNC();
	
	GRenderer->SetFogColor(Color::none);
	GRenderer->SetRenderState(Renderer::AlphaBlending, true);
	GRenderer->SetRenderState(Renderer::DepthWrite, false);
	GRenderer->SetBlendFunc(BlendDstColor, BlendOne);
	GRenderer->SetAlphaFunc(Renderer::CmpGreater, .5f);

	GRenderer->SetCulling(CullNone);

	PopOneTriangleList(&TexSpecialColor, true);

	TextureContainer * pTex = GetTextureList();
	while(pTex) {
		PopOneTriangleListTransparency(pTex);
		pTex = pTex->m_pNext;
	}

	GRenderer->SetFogColor(ulBKGColor);
	GRenderer->SetRenderState(Renderer::AlphaBlending, false);
	GRenderer->SetRenderState(Renderer::DepthWrite, true);
	GRenderer->SetAlphaFunc(Renderer::CmpNotEqual, 0.f);
}
コード例 #2
0
void PopAllTriangleList(bool clear) {
	GRenderer->SetAlphaFunc(Renderer::CmpGreater, .5f);
	GRenderer->SetCulling(Renderer::CullNone);

	TextureContainer * pTex = GetTextureList();
	while(pTex) {
		PopOneTriangleList(pTex, clear);
		pTex = pTex->m_pNext;
	}
	GRenderer->SetAlphaFunc(Renderer::CmpNotEqual, 0.f);
}