Forced Backgrounds fragments depth to maximum (1)

Former-commit-id: 98af132b7cc61469af752d1210dfb03e0c9b63ec
This commit is contained in:
Lynix
2013-09-06 18:31:04 +02:00
parent f9363ca764
commit c1dc2884b0
9 changed files with 49 additions and 19 deletions

View File

@@ -13,7 +13,11 @@ namespace
NzRenderStates BuildRenderStates()
{
NzRenderStates states;
states.parameters[nzRendererParameter_DepthBuffer] = false;
states.depthFunc = nzRendererComparison_Equal;
states.faceCulling = nzFaceSide_Front;
states.parameters[nzRendererParameter_DepthBuffer] = true;
states.parameters[nzRendererParameter_DepthWrite] = false;
states.parameters[nzRendererParameter_FaceCulling] = true;
return states;
}
@@ -29,6 +33,9 @@ NzTextureBackground::NzTextureBackground()
params.fullscreenQuad.diffuseMapping = true;
m_program = NzShaderProgramManager::Get(params);
m_program->SendColor(m_program->GetUniformLocation(nzShaderUniform_MaterialDiffuse), NzColor::White);
m_program->SendFloat(m_program->GetUniformLocation(nzShaderUniform_VertexDepth), 1.f);
m_program->SendInteger(m_program->GetUniformLocation(nzShaderUniform_MaterialDiffuseMap), 0);
}
NzTextureBackground::NzTextureBackground(NzTexture* texture) :
@@ -43,9 +50,6 @@ void NzTextureBackground::Draw(const NzScene* scene) const
static NzRenderStates states(BuildRenderStates());
m_program->SendColor(m_program->GetUniformLocation(nzShaderUniform_MaterialDiffuse), NzColor::White);
m_program->SendInteger(m_program->GetUniformLocation(nzShaderUniform_MaterialDiffuseMap), 0);
NzRenderer::SetRenderStates(states);
NzRenderer::SetShaderProgram(m_program);
NzRenderer::SetTexture(0, m_texture);