prosperon/source/shaders/sprite.sglsl

43 lines
621 B
Plaintext
Raw Normal View History

@vs vs
in vec2 vertex;
in vec2 uv;
2023-10-26 11:48:02 -05:00
in vec4 vc;
in vec4 emissive;
out vec2 texcoords;
out vec4 fcolor;
out vec4 femissive;
uniform vs_p { mat4 proj; };
void main()
{
2023-10-26 11:48:02 -05:00
fcolor = vc;
femissive = emissive;
texcoords = uv;
gl_Position = proj * vec4(vertex, 0.0, 1.0);
}
@end
@fs fs
in vec2 texcoords;
in vec4 fcolor;
in vec4 femissive;
out vec4 color;
uniform texture2D image;
uniform sampler smp;
void main()
{
2023-10-10 17:37:58 -05:00
color = texture(sampler2D(image,smp), texcoords);
2023-10-26 11:48:02 -05:00
if (color.a <= 0.1f)
discard;
2023-10-26 11:48:02 -05:00
color *= fcolor;
color.xyz = mix(color.xyz, femissive.xyz, femissive.a);
}
@end
@program sprite vs fs