From 04f1809dd17b5f7c034bcf394dbe040844c10712 Mon Sep 17 00:00:00 2001 From: Arisotura Date: Sat, 25 May 2019 02:34:14 +0200 Subject: finish fixing shadows --- src/GPU3D_OpenGL.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/GPU3D_OpenGL.cpp b/src/GPU3D_OpenGL.cpp index 74e736a..264d3b9 100644 --- a/src/GPU3D_OpenGL.cpp +++ b/src/GPU3D_OpenGL.cpp @@ -594,6 +594,8 @@ void RenderSceneChunk(int y, int h) { RendererPolygon* rp = &PolygonList[i]; + if (rp->PolyData->IsShadowMask) { i++; continue; } + // zorp glDepthFunc(GL_LESS); @@ -627,11 +629,6 @@ void RenderSceneChunk(int y, int h) if (rp->PolyData->IsShadowMask) { - // clear shadow bits in stencil buffer - - glStencilMask(0x80); - glClear(GL_STENCIL_BUFFER_BIT); - // draw actual shadow mask UseRenderShader(flags | RenderFlag_ShadowMask); @@ -642,7 +639,7 @@ void RenderSceneChunk(int y, int h) glDepthMask(GL_FALSE); glDepthFunc(GL_LESS); - glStencilFunc(GL_EQUAL, 0xFF, 0xFE); + glStencilFunc(GL_EQUAL, 0xFF, 0xFF); glStencilOp(GL_KEEP, GL_INVERT, GL_KEEP); glStencilMask(0x01); -- cgit v1.2.3