[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