prosperon/source/shaders/sprite.sglsl

39 lines
577 B
Plaintext

@vs vs
in vec2 vertex;
in vec2 uv;
in vec4 vc;
in vec4 emissive;
out vec2 texcoords;
out vec4 fcolor;
out vec4 femissive;
uniform vs_p { mat4 proj; };
void main()
{
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()
{
color = texture(sampler2D(image,smp), texcoords);
color *= fcolor;
color.xyz = mix(color.xyz, femissive.xyz, femissive.a);
}
@end
@program sprite vs fs