Renamed depth test to depth buffer

Because disabling depth test also disable depth write


Former-commit-id: 0e0b3353c309fb1d702d030accc4349f1f0c6d96
This commit is contained in:
Lynix
2013-05-21 16:16:36 +02:00
parent 3ff5761703
commit 0717823b0e
7 changed files with 58 additions and 119 deletions

View File

@@ -24,7 +24,7 @@ namespace
static const NzShader* shader = nullptr;
static NzVertexBuffer* vertexBuffer = nullptr;
static NzVertexDeclaration* vertexDeclaration = nullptr;
static bool depthTest = true;
static bool depthBufferEnabled = true;
static bool initialized = false;
static float lineWidth = 1.5f;
static float pointSize = 3.f;
@@ -128,29 +128,14 @@ void NzDebugDrawer::Draw(const NzCubef& cube)
mapper.Unmap();
const NzShader* oldShader = NzRenderer::GetShader();
NzRenderer::SetShader(shader);
bool depthTestActive = NzRenderer::IsEnabled(nzRendererParameter_DepthTest);
if (depthTestActive != depthTest)
NzRenderer::Enable(nzRendererParameter_DepthTest, depthTest);
float oldLineWidth = NzRenderer::GetLineWidth();
NzRenderer::Enable(nzRendererParameter_DepthBuffer, depthBufferEnabled);
NzRenderer::SetLineWidth(lineWidth);
NzRenderer::SetShader(shader);
NzRenderer::SetVertexBuffer(vertexBuffer);
shader->SendColor(colorLocation, primaryColor);
NzRenderer::DrawPrimitives(nzPrimitiveType_LineList, 0, 24);
NzRenderer::SetLineWidth(oldLineWidth);
if (depthTestActive != depthTest)
NzRenderer::Enable(nzRendererParameter_DepthTest, depthTestActive);
NzRenderer::SetShader(oldShader);
}
void NzDebugDrawer::Draw(const NzCubeui& cube)
@@ -231,29 +216,14 @@ void NzDebugDrawer::Draw(const NzFrustumf& frustum)
mapper.Unmap();
const NzShader* oldShader = NzRenderer::GetShader();
NzRenderer::SetShader(shader);
bool depthTestActive = NzRenderer::IsEnabled(nzRendererParameter_DepthTest);
if (depthTestActive != depthTest)
NzRenderer::Enable(nzRendererParameter_DepthTest, depthTest);
float oldLineWidth = NzRenderer::GetLineWidth();
NzRenderer::Enable(nzRendererParameter_DepthBuffer, depthBufferEnabled);
NzRenderer::SetLineWidth(lineWidth);
NzRenderer::SetShader(shader);
NzRenderer::SetVertexBuffer(vertexBuffer);
shader->SendColor(colorLocation, primaryColor);
NzRenderer::DrawPrimitives(nzPrimitiveType_LineList, 0, 24);
NzRenderer::SetLineWidth(oldLineWidth);
if (depthTestActive != depthTest)
NzRenderer::Enable(nzRendererParameter_DepthTest, depthTestActive);
NzRenderer::SetShader(oldShader);
}
void NzDebugDrawer::Draw(const NzOrientedCubef& orientedCube)
@@ -329,29 +299,14 @@ void NzDebugDrawer::Draw(const NzOrientedCubef& orientedCube)
mapper.Unmap();
const NzShader* oldShader = NzRenderer::GetShader();
NzRenderer::SetShader(shader);
bool depthTestActive = NzRenderer::IsEnabled(nzRendererParameter_DepthTest);
if (depthTestActive != depthTest)
NzRenderer::Enable(nzRendererParameter_DepthTest, depthTest);
float oldLineWidth = NzRenderer::GetLineWidth();
NzRenderer::Enable(nzRendererParameter_DepthBuffer, depthBufferEnabled);
NzRenderer::SetLineWidth(lineWidth);
NzRenderer::SetShader(shader);
NzRenderer::SetVertexBuffer(vertexBuffer);
shader->SendColor(colorLocation, primaryColor);
NzRenderer::DrawPrimitives(nzPrimitiveType_LineList, 0, 24);
NzRenderer::SetLineWidth(oldLineWidth);
if (depthTestActive != depthTest)
NzRenderer::Enable(nzRendererParameter_DepthTest, depthTestActive);
NzRenderer::SetShader(oldShader);
}
void NzDebugDrawer::Draw(const NzSkeleton* skeleton)
@@ -393,35 +348,17 @@ void NzDebugDrawer::Draw(const NzSkeleton* skeleton)
if (vertexCount > 0)
{
const NzShader* oldShader = NzRenderer::GetShader();
NzRenderer::SetShader(shader);
bool depthTestActive = NzRenderer::IsEnabled(nzRendererParameter_DepthTest);
if (depthTestActive != depthTest)
NzRenderer::Enable(nzRendererParameter_DepthTest, depthTest);
NzRenderer::SetVertexBuffer(vertexBuffer);
float oldLineWidth = NzRenderer::GetLineWidth();
NzRenderer::Enable(nzRendererParameter_DepthBuffer, depthBufferEnabled);
NzRenderer::SetLineWidth(lineWidth);
NzRenderer::SetPointSize(pointSize);
NzRenderer::SetShader(shader);
NzRenderer::SetVertexBuffer(vertexBuffer);
shader->SendColor(colorLocation, primaryColor);
NzRenderer::DrawPrimitives(nzPrimitiveType_LineList, 0, vertexCount);
float oldPointSize = NzRenderer::GetPointSize();
NzRenderer::SetPointSize(pointSize);
shader->SendColor(colorLocation, secondaryColor);
NzRenderer::DrawPrimitives(nzPrimitiveType_PointList, 0, vertexCount);
NzRenderer::SetLineWidth(oldLineWidth);
NzRenderer::SetPointSize(oldPointSize);
if (depthTestActive != depthTest)
NzRenderer::Enable(nzRendererParameter_DepthTest, depthTestActive);
NzRenderer::SetShader(oldShader);
}
}
/*
@@ -561,6 +498,32 @@ void NzDebugDrawer::DrawTangents(const NzSubMesh* subMesh)
}
}
*/
void NzDebugDrawer::EnableDepthBuffer(bool depthBuffer)
{
depthBufferEnabled = depthBuffer;
}
float NzDebugDrawer::GetLineWidth()
{
return lineWidth;
}
float NzDebugDrawer::GetPointSize()
{
return pointSize;
}
NzColor NzDebugDrawer::GetPrimaryColor()
{
return primaryColor;
}
NzColor NzDebugDrawer::GetSecondaryColor()
{
return secondaryColor;
}
bool NzDebugDrawer::Initialize()
{
if (!initialized)
@@ -612,34 +575,9 @@ bool NzDebugDrawer::Initialize()
return true;
}
bool NzDebugDrawer::GetDepthTest()
bool NzDebugDrawer::IsDepthBufferEnabled()
{
return depthTest;
}
float NzDebugDrawer::GetLineWidth()
{
return lineWidth;
}
float NzDebugDrawer::GetPointSize()
{
return pointSize;
}
NzColor NzDebugDrawer::GetPrimaryColor()
{
return primaryColor;
}
NzColor NzDebugDrawer::GetSecondaryColor()
{
return secondaryColor;
}
void NzDebugDrawer::SetDepthTest(bool shouldTest)
{
depthTest = shouldTest;
return depthBufferEnabled;
}
void NzDebugDrawer::SetLineWidth(float width)

View File

@@ -155,14 +155,14 @@ void NzMaterial::Apply(const NzShader* shader) const
NzRenderer::SetFaceFilling(m_faceFilling);
if (m_zTestEnabled)
if (m_zBufferEnabled)
{
NzRenderer::Enable(nzRendererParameter_DepthTest, true);
NzRenderer::Enable(nzRendererParameter_DepthBuffer, true);
NzRenderer::Enable(nzRendererParameter_DepthWrite, m_zWriteEnabled);
NzRenderer::SetDepthFunc(m_zTestCompareFunc);
}
else
NzRenderer::Enable(nzRendererParameter_DepthTest, false);
NzRenderer::Enable(nzRendererParameter_DepthBuffer, false);
}
void NzMaterial::EnableAlphaBlending(bool alphaBlending)
@@ -184,9 +184,9 @@ void NzMaterial::EnableLighting(bool lighting)
m_shaderFlags &= ~nzShaderFlags_Lighting;
}
void NzMaterial::EnableZTest(bool zTest)
void NzMaterial::EnableZBuffer(bool zBuffer)
{
m_zTestEnabled = zTest;
m_zBufferEnabled = zBuffer;
}
void NzMaterial::EnableZWrite(bool zWrite)
@@ -314,9 +314,9 @@ bool NzMaterial::IsLightingEnabled() const
return m_lightingEnabled;
}
bool NzMaterial::IsZTestEnabled() const
bool NzMaterial::IsZBufferEnabled() const
{
return m_zTestEnabled;
return m_zBufferEnabled;
}
bool NzMaterial::IsZWriteEnabled() const
@@ -363,8 +363,8 @@ void NzMaterial::Reset()
m_specularColor = NzColor::White;
m_specularSampler = NzTextureSampler();
m_srcBlend = nzBlendFunc_One;
m_zBufferEnabled = true;
m_zTestCompareFunc = nzRendererComparison_LessOrEqual;
m_zTestEnabled = true;
m_zWriteEnabled = true;
}
@@ -577,7 +577,7 @@ void NzMaterial::SetSrcBlend(nzBlendFunc func)
void NzMaterial::SetZTestCompare(nzRendererComparison compareFunc)
{
m_zTestEnabled = compareFunc;
m_zTestCompareFunc = compareFunc;
}
NzMaterial& NzMaterial::operator=(const NzMaterial& material)

View File

@@ -1035,7 +1035,7 @@ GLenum NzOpenGL::RendererParameter[nzRendererParameter_Max+1] =
{
GL_BLEND, // nzRendererParameter_Blend
GL_NONE, // nzRendererParameter_ColorWrite
GL_DEPTH_TEST, // nzRendererParameter_DepthTest
GL_DEPTH_TEST, // nzRendererParameter_DepthBuffer
GL_NONE, // nzRendererParameter_DepthWrite
GL_CULL_FACE, // nzRendererParameter_FaceCulling
GL_SCISSOR_TEST, // nzRendererParameter_ScissorTest