2026-02-21 19:41:21 -08:00
|
|
|
#version 450
|
|
|
|
|
|
|
|
|
|
layout(set = 1, binding = 0) uniform sampler2D markerTexture;
|
|
|
|
|
|
|
|
|
|
layout(push_constant) uniform Push {
|
|
|
|
|
mat4 model;
|
|
|
|
|
float alpha;
|
2026-03-10 22:26:56 -07:00
|
|
|
float grayscale; // 0 = full colour, 1 = fully desaturated (trivial quests)
|
2026-02-21 19:41:21 -08:00
|
|
|
} push;
|
|
|
|
|
|
|
|
|
|
layout(location = 0) in vec2 TexCoord;
|
|
|
|
|
|
|
|
|
|
layout(location = 0) out vec4 outColor;
|
|
|
|
|
|
|
|
|
|
void main() {
|
|
|
|
|
vec4 texColor = texture(markerTexture, TexCoord);
|
|
|
|
|
if (texColor.a < 0.1) discard;
|
2026-03-10 22:26:56 -07:00
|
|
|
float lum = dot(texColor.rgb, vec3(0.299, 0.587, 0.114));
|
|
|
|
|
vec3 rgb = mix(texColor.rgb, vec3(lum), push.grayscale);
|
|
|
|
|
outColor = vec4(rgb, texColor.a * push.alpha);
|
2026-02-21 19:41:21 -08:00
|
|
|
}
|