From 9a1cf812dd88c4fbee3051bfb6d8de6d2a2d6d3f Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Fri, 6 Jun 2025 01:49:47 +0200 Subject: [PATCH] Enable backface culling (#241) --- miniwin/src/d3drm/backends/opengl15/renderer.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/miniwin/src/d3drm/backends/opengl15/renderer.cpp b/miniwin/src/d3drm/backends/opengl15/renderer.cpp index 4056fda5..aeef8e1b 100644 --- a/miniwin/src/d3drm/backends/opengl15/renderer.cpp +++ b/miniwin/src/d3drm/backends/opengl15/renderer.cpp @@ -37,6 +37,9 @@ Direct3DRMRenderer* OpenGL15Renderer::Create(DWORD width, DWORD height) return nullptr; } + glEnable(GL_CULL_FACE); + glCullFace(GL_BACK); + glFrontFace(GL_CCW); glEnable(GL_DEPTH_TEST); glEnable(GL_LIGHTING); glEnable(GL_COLOR_MATERIAL); @@ -316,6 +319,8 @@ void OpenGL15Renderer::SubmitDraw( glLoadMatrixf(&mvMatrix[0][0]); glEnable(GL_NORMALIZE); + glColor4ub(appearance.color.r, appearance.color.g, appearance.color.b, appearance.color.a); + // Bind texture if present if (appearance.textureId != NO_TEXTURE_ID) { auto& tex = m_textures[appearance.textureId]; @@ -342,7 +347,6 @@ void OpenGL15Renderer::SubmitDraw( glBegin(GL_TRIANGLES); for (size_t i = 0; i < count; i++) { const GeometryVertex& v = vertices[i]; - glColor4ub(appearance.color.r, appearance.color.g, appearance.color.b, appearance.color.a); glNormal3f(v.normals.x, v.normals.y, v.normals.z); glTexCoord2f(v.texCoord.u, v.texCoord.v); glVertex3f(v.position.x, v.position.y, v.position.z);