From 9d647e562281133374608e4ed8cca3109d1dd4e6 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sun, 22 Feb 2026 06:28:18 -0800 Subject: [PATCH] Fix Vulkan shadow shader descriptor set mismatch --- assets/shaders/shadow.frag.glsl | 4 ++-- assets/shaders/shadow.vert.glsl | 19 ++----------------- 2 files changed, 4 insertions(+), 19 deletions(-) diff --git a/assets/shaders/shadow.frag.glsl b/assets/shaders/shadow.frag.glsl index 7d5554a1..3ae16e38 100644 --- a/assets/shaders/shadow.frag.glsl +++ b/assets/shaders/shadow.frag.glsl @@ -1,8 +1,8 @@ #version 450 -layout(set = 1, binding = 0) uniform sampler2D uTexture; +layout(set = 0, binding = 0) uniform sampler2D uTexture; -layout(set = 1, binding = 1) uniform ShadowParams { +layout(set = 0, binding = 1) uniform ShadowParams { int useBones; int useTexture; int alphaTest; diff --git a/assets/shaders/shadow.vert.glsl b/assets/shaders/shadow.vert.glsl index 5ea3f766..d3801129 100644 --- a/assets/shaders/shadow.vert.glsl +++ b/assets/shaders/shadow.vert.glsl @@ -5,11 +5,7 @@ layout(push_constant) uniform Push { mat4 model; } push; -layout(set = 2, binding = 0) readonly buffer BoneSSBO { - mat4 bones[]; -}; - -layout(set = 1, binding = 1) uniform ShadowParams { +layout(set = 0, binding = 1) uniform ShadowParams { int useBones; int useTexture; int alphaTest; @@ -27,18 +23,7 @@ layout(location = 0) out vec2 TexCoord; layout(location = 1) out vec3 WorldPos; void main() { - vec4 pos = vec4(aPos, 1.0); - - if (useBones != 0) { - ivec4 bi = ivec4(aBoneIndicesF); - mat4 skinMat = bones[bi.x] * aBoneWeights.x - + bones[bi.y] * aBoneWeights.y - + bones[bi.z] * aBoneWeights.z - + bones[bi.w] * aBoneWeights.w; - pos = skinMat * pos; - } - - vec4 worldPos = push.model * pos; + vec4 worldPos = push.model * vec4(aPos, 1.0); WorldPos = worldPos.xyz; TexCoord = aTexCoord; gl_Position = push.lightSpaceMatrix * worldPos;