quakeforge/libs/video/renderer/vulkan/shader/sprite.frag
Bill Currie 778ffadd54 [vulkan] Implement fog for the forward renderer
Other than decoupled lightmap support, I think that has the vulkan
forward renderer feature complete (though a little buggy with its
lightmap updates and fisheye gets validation errors).
2024-01-20 19:45:45 +09:00

34 lines
625 B
GLSL

#version 450
#extension GL_GOOGLE_include_directive : enable
#include "fog.finc"
layout (set = 1, binding = 1) uniform sampler2DArray Texture;
layout (push_constant) uniform PushConstants {
layout (offset = 64)
int frame;
int spriteind;
// two slots
vec4 fog;
};
layout (location = 0) in vec2 st;
layout (location = 1) in vec4 position;
layout (location = 2) in vec3 normal;
layout(early_fragment_tests) in;
layout (location = 0) out vec4 frag_color;
void
main (void)
{
vec4 pix;
pix = texture (Texture, vec3 (st, frame));
if (pix.a < 0.5) {
discard;
}
frag_color = FogBlend (pix, fog);
}