2025-11-10 15:13:04 +08:00
|
|
|
#version 450
|
|
|
|
|
|
|
|
|
|
layout(location = 0) in vec4 fragColor;
|
|
|
|
|
layout(location = 1) in vec2 fragTexCoord;
|
|
|
|
|
|
|
|
|
|
layout(location = 0) out vec4 outColor;
|
|
|
|
|
|
2025-11-10 22:08:52 +08:00
|
|
|
layout(binding = 0, std140) uniform UniformBufferObject {
|
|
|
|
|
float time; // offset 0
|
|
|
|
|
float resX; // offset 4
|
|
|
|
|
float resY; // offset 8
|
|
|
|
|
float rotation; // offset 12
|
|
|
|
|
float wavePhase; // offset 16
|
|
|
|
|
float padding1; // offset 20
|
|
|
|
|
float padding2; // offset 24
|
2025-11-10 15:13:04 +08:00
|
|
|
} ubo;
|
|
|
|
|
|
|
|
|
|
layout(binding = 1) uniform sampler2D texSampler;
|
|
|
|
|
|
|
|
|
|
void main() {
|
|
|
|
|
// Sample the font texture atlas
|
|
|
|
|
float alpha = texture(texSampler, fragTexCoord).r;
|
|
|
|
|
|
|
|
|
|
// Apply color with alpha from texture
|
|
|
|
|
outColor = vec4(fragColor.rgb, fragColor.a * alpha);
|
|
|
|
|
}
|