aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/GPU3D_OpenGL.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/GPU3D_OpenGL.cpp b/src/GPU3D_OpenGL.cpp
index f24567c..381af9d 100644
--- a/src/GPU3D_OpenGL.cpp
+++ b/src/GPU3D_OpenGL.cpp
@@ -474,6 +474,7 @@ void SetupPolygon(RendererPolygon* rp, Polygon* polygon)
// - depthfunc
// -- depthwrite
// --- polyID
+ // ---- need opaque
// shadow mask polygons:
// - depthfunc?????
// shadow polygons:
@@ -491,6 +492,8 @@ void SetupPolygon(RendererPolygon* rp, Polygon* polygon)
rp->RenderKey |= (polygon->Attr >> 10) & 0x2; // bit11 - depth write
rp->RenderKey |= (polygon->Attr >> 13) & 0x4; // bit15 - fog
rp->RenderKey |= (polygon->Attr & 0x3F000000) >> 16; // polygon ID
+ if ((polygon->Attr & 0x001F0000) == 0x001F0000) // need opaque
+ rp->RenderKey |= 0x4000;
}
else
{