diff --git a/source/Irrlicht/COGLES2Driver.cpp b/source/Irrlicht/COGLES2Driver.cpp index ba435a10..dcf6bc0c 100644 --- a/source/Irrlicht/COGLES2Driver.cpp +++ b/source/Irrlicht/COGLES2Driver.cpp @@ -1766,8 +1766,7 @@ COGLES2Driver::~COGLES2Driver() } // ZWrite - if (material.ZWriteEnable && (AllowZWriteOnTransparent || (material.BlendOperation == EBO_NONE && - !MaterialRenderers[material.MaterialType].Renderer->isTransparent()))) + if (getWriteZBuffer(material)) { CacheHandler->setDepthMask(true); } diff --git a/source/Irrlicht/COGLESDriver.cpp b/source/Irrlicht/COGLESDriver.cpp index 0ee90a93..c7824a11 100644 --- a/source/Irrlicht/COGLESDriver.cpp +++ b/source/Irrlicht/COGLESDriver.cpp @@ -1705,15 +1705,13 @@ void COGLES1Driver::setBasicRenderStates(const SMaterial& material, const SMater } // zwrite -// if (resetAllRenderStates || lastmaterial.ZWriteEnable != material.ZWriteEnable) + if (getWriteZBuffer(material)) { - if (material.ZWriteEnable && (AllowZWriteOnTransparent || (material.BlendOperation == EBO_NONE && - !MaterialRenderers[material.MaterialType].Renderer->isTransparent()))) - { - glDepthMask(GL_TRUE); - } - else - glDepthMask(GL_FALSE); + glDepthMask(GL_TRUE); + } + else + { + glDepthMask(GL_FALSE); } // back face culling