From 401e769114ac752dd9273c3d037b67c5a6512c98 Mon Sep 17 00:00:00 2001 From: paradust7 <102263465+paradust7@users.noreply.github.com> Date: Wed, 4 May 2022 02:06:15 +0000 Subject: [PATCH] Enable GL_ALPHA_TEST in OpenGL driver for custom transparent alpha shaders --- source/Irrlicht/COpenGLSLMaterialRenderer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/Irrlicht/COpenGLSLMaterialRenderer.cpp b/source/Irrlicht/COpenGLSLMaterialRenderer.cpp index 062674f2..352c2bce 100644 --- a/source/Irrlicht/COpenGLSLMaterialRenderer.cpp +++ b/source/Irrlicht/COpenGLSLMaterialRenderer.cpp @@ -243,6 +243,8 @@ void COpenGLSLMaterialRenderer::OnSetMaterial(const video::SMaterial& material, { cacheHandler->setBlend(true); cacheHandler->setBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + cacheHandler->setAlphaTest(true); + cacheHandler->setAlphaFunc(GL_GREATER, 0.f); } else if (FixedBlending) { @@ -291,7 +293,7 @@ void COpenGLSLMaterialRenderer::OnUnsetMaterial() { cacheHandler->setBlend(false); } - else if (AlphaTest) + if (Alpha || AlphaTest) { cacheHandler->setAlphaTest(false); }