43 lines
621 B
Plaintext
43 lines
621 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);
|
|
|
|
if (color.a <= 0.1f)
|
|
discard;
|
|
|
|
color *= fcolor;
|
|
color.xyz = mix(color.xyz, femissive.xyz, femissive.a);
|
|
}
|
|
@end
|
|
|
|
@program sprite vs fs |