[Scummvm-git-logs] scummvm master -> 5dc32c433dbed085c3b7e2d58c439ce9e3325264

aquadran noreply at scummvm.org
Tue May 20 19:08:58 UTC 2025


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
5dc32c433d WINTERMUTE: Fixed regression with shadow volume rendering


Commit: 5dc32c433dbed085c3b7e2d58c439ce9e3325264
    https://github.com/scummvm/scummvm/commit/5dc32c433dbed085c3b7e2d58c439ce9e3325264
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2025-05-20T21:08:53+02:00

Commit Message:
WINTERMUTE: Fixed regression with shadow volume rendering

Changed paths:
    engines/wintermute/base/gfx/opengl/shadow_volume_opengl.cpp
    engines/wintermute/base/gfx/opengl/shadow_volume_opengl_shader.cpp


diff --git a/engines/wintermute/base/gfx/opengl/shadow_volume_opengl.cpp b/engines/wintermute/base/gfx/opengl/shadow_volume_opengl.cpp
index 8a81e8cef89..becf4d1d312 100644
--- a/engines/wintermute/base/gfx/opengl/shadow_volume_opengl.cpp
+++ b/engines/wintermute/base/gfx/opengl/shadow_volume_opengl.cpp
@@ -51,6 +51,7 @@ bool ShadowVolumeOpenGL::render() {
 	glDisable(GL_TEXTURE_2D);
 	_gameRef->_renderer3D->_lastTexture = nullptr;
 
+	glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
 	glEnableClientState(GL_VERTEX_ARRAY);
 	glVertexPointer(3, GL_FLOAT, 0, _vertices.data());
 	glDrawArrays(GL_TRIANGLES, 0, _vertices.size());
@@ -126,6 +127,8 @@ bool ShadowVolumeOpenGL::renderToScene() {
 	BaseRenderOpenGL3D *renderer = dynamic_cast<BaseRenderOpenGL3D *>(_gameRef->_renderer3D);
 	renderer->setProjection2D();
 
+	glFrontFace(GL_CW);
+
 	glEnableClientState(GL_COLOR_ARRAY);
 	glEnableClientState(GL_VERTEX_ARRAY);
 
diff --git a/engines/wintermute/base/gfx/opengl/shadow_volume_opengl_shader.cpp b/engines/wintermute/base/gfx/opengl/shadow_volume_opengl_shader.cpp
index d22b42266a7..1974a0af7c4 100644
--- a/engines/wintermute/base/gfx/opengl/shadow_volume_opengl_shader.cpp
+++ b/engines/wintermute/base/gfx/opengl/shadow_volume_opengl_shader.cpp
@@ -75,6 +75,14 @@ bool ShadowVolumeOpenGLShader::render() {
 	glBindTexture(GL_TEXTURE_2D, 0);
 	glDisable(GL_TEXTURE_2D);
 	_gameRef->_renderer3D->_lastTexture = nullptr;
+
+	Math::Vector4d colorValue;
+	colorValue.x() = 1.0f;
+	colorValue.y() = 1.0f;
+	colorValue.z() = 1.0f;
+	colorValue.w() = 1.0f;
+	_volumeShader->setUniform("color", colorValue);
+
 	glDrawArrays(GL_TRIANGLES, 0, _vertices.size());
 
 	return true;
@@ -155,6 +163,8 @@ bool ShadowVolumeOpenGLShader::renderToScene() {
 	_maskShader->enableVertexAttribute("position", _shadowMaskVertexBuffer, 2, GL_FLOAT, false, 8, 0);
 	_maskShader->use(true);
 
+	glFrontFace(GL_CW);
+
 	glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
 
 	// Restore render states




More information about the Scummvm-git-logs mailing list