@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