[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