[Scummvm-git-logs] scummvm master -> a890f64b84c765b252b77a809a74b4d21c685436

aquadran noreply at scummvm.org
Sat Jul 12 08:54:40 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:
a890f64b84 WINTERMUTE: Fixed shadow mask in shader renderer


Commit: a890f64b84c765b252b77a809a74b4d21c685436
    https://github.com/scummvm/scummvm/commit/a890f64b84c765b252b77a809a74b4d21c685436
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2025-07-12T10:54:35+02:00

Commit Message:
WINTERMUTE: Fixed shadow mask in shader renderer

Changed paths:
    engines/wintermute/base/gfx/opengl/shaders/wme_shadow_mask.vertex
    engines/wintermute/base/gfx/opengl/shadow_volume_opengl_shader.cpp


diff --git a/engines/wintermute/base/gfx/opengl/shaders/wme_shadow_mask.vertex b/engines/wintermute/base/gfx/opengl/shaders/wme_shadow_mask.vertex
index a2096ae4d8b..479282bc572 100644
--- a/engines/wintermute/base/gfx/opengl/shaders/wme_shadow_mask.vertex
+++ b/engines/wintermute/base/gfx/opengl/shaders/wme_shadow_mask.vertex
@@ -1,4 +1,4 @@
-in vec2 position;
+in vec3 position;
 
 uniform highp mat4 projMatrix;
 uniform vec4 color;
@@ -6,6 +6,6 @@ uniform vec4 color;
 out vec4 Color;
 
 void main() {
-	gl_Position = projMatrix * vec4(position, 0.0, 1.0);
+	gl_Position = projMatrix * vec4(position, 1.0);
 	Color = color;
 }
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 953fe697db5..daa5f404a79 100644
--- a/engines/wintermute/base/gfx/opengl/shadow_volume_opengl_shader.cpp
+++ b/engines/wintermute/base/gfx/opengl/shadow_volume_opengl_shader.cpp
@@ -40,6 +40,7 @@ namespace Wintermute {
 struct ShadowVertexShader {
 	float x;
 	float y;
+	float z;
 };
 
 //////////////////////////////////////////////////////////////////////////
@@ -146,7 +147,7 @@ bool ShadowVolumeOpenGLShader::renderToScene() {
 	renderer->_shadowMaskShader->use();
 	renderer->setProjection2D(renderer->_shadowMaskShader);
 
-	_maskShader->enableVertexAttribute("position", _shadowMaskVertexBuffer, 2, GL_FLOAT, false, 8, 0);
+	_maskShader->enableVertexAttribute("position", _shadowMaskVertexBuffer, 3, GL_FLOAT, false, 12, 0);
 	_maskShader->use(true);
 
 	glFrontFace(GL_CW);
@@ -174,18 +175,22 @@ bool ShadowVolumeOpenGLShader::initMask() {
 	// bottom left
 	shadowMask[0].x = 0.0f;
 	shadowMask[0].y = rend->getHeight();
+	shadowMask[0].z = 1.0f;
 
 	// top left
 	shadowMask[1].x = 0.0f;
 	shadowMask[1].y = 0.0f;
+	shadowMask[1].z = 1.0f;
 
 	// bottom right
 	shadowMask[2].x = rend->getWidth();
 	shadowMask[2].y = rend->getHeight();
+	shadowMask[2].z = 1.0f;
 
 	// top right
 	shadowMask[3].x = rend->getWidth();
 	shadowMask[3].y = 0.0f;
+	shadowMask[3].z = 1.0f;
 
 	glBindBuffer(GL_ARRAY_BUFFER, _shadowMaskVertexBuffer);
 	glBufferSubData(GL_ARRAY_BUFFER, 0, 4 * sizeof(ShadowVertexShader), shadowMask);




More information about the Scummvm-git-logs mailing list