Renamed depth test to depth buffer
Because disabling depth test also disable depth write Former-commit-id: 0e0b3353c309fb1d702d030accc4349f1f0c6d96
This commit is contained in:
parent
3ff5761703
commit
0717823b0e
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ enum nzRendererParameter
|
|||
{
|
||||
nzRendererParameter_Blend,
|
||||
nzRendererParameter_ColorWrite,
|
||||
nzRendererParameter_DepthTest,
|
||||
nzRendererParameter_DepthBuffer,
|
||||
nzRendererParameter_DepthWrite,
|
||||
nzRendererParameter_FaceCulling,
|
||||
nzRendererParameter_ScissorTest,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue