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

@ -30,15 +30,16 @@ class NAZARA_API NzDebugDrawer
//static void DrawNormals(const NzSubMesh* subMesh);
//static void DrawTangents(const NzSubMesh* subMesh);
static bool Initialize();
static void EnableDepthBuffer(bool depthBuffer);
static bool GetDepthTest();
static float GetLineWidth();
static float GetPointSize();
static NzColor GetPrimaryColor();
static NzColor GetSecondaryColor();
static void SetDepthTest(bool shouldTest);
static bool Initialize();
static bool IsDepthBufferEnabled();
static void SetLineWidth(float width);
static void SetPointSize(float size);
static void SetPrimaryColor(const NzColor& color);

View File

@ -110,7 +110,7 @@ enum nzRendererParameter
{
nzRendererParameter_Blend,
nzRendererParameter_ColorWrite,
nzRendererParameter_DepthTest,
nzRendererParameter_DepthBuffer,
nzRendererParameter_DepthWrite,
nzRendererParameter_FaceCulling,
nzRendererParameter_ScissorTest,

View File

@ -47,7 +47,7 @@ class NAZARA_API NzMaterial : public NzResource
void EnableAlphaBlending(bool alphaBlending);
void EnableFaceCulling(bool faceCulling);
void EnableLighting(bool lighting);
void EnableZTest(bool zTest);
void EnableZBuffer(bool zBuffer);
void EnableZWrite(bool zWrite);
NzColor GetAmbientColor() const;
@ -77,7 +77,7 @@ class NAZARA_API NzMaterial : public NzResource
bool IsAlphaBlendingEnabled() const;
bool IsFaceCullingEnabled() const;
bool IsLightingEnabled() const;
bool IsZTestEnabled() const;
bool IsZBufferEnabled() const;
bool IsZWriteEnabled() const;
bool LoadFromFile(const NzString& filePath, const NzMaterialParams& params = NzMaterialParams());
@ -140,7 +140,7 @@ class NAZARA_API NzMaterial : public NzResource
bool m_alphaBlendingEnabled;
bool m_faceCullingEnabled;
bool m_lightingEnabled;
bool m_zTestEnabled;
bool m_zBufferEnabled;
bool m_zWriteEnabled;
float m_shininess;

View File

@ -211,7 +211,7 @@ void NzSkyboxBackground::Draw(const NzScene* scene) const
skyboxMatrix.SetTranslation(NzVector3f::Zero());
NzRenderer::Enable(nzRendererParameter_Blend, false);
NzRenderer::Enable(nzRendererParameter_DepthTest, false);
NzRenderer::Enable(nzRendererParameter_DepthBuffer, false);
NzRenderer::Enable(nzRendererParameter_FaceCulling, true);
NzRenderer::SetDepthFunc(nzRendererComparison_Less);

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