geometra/assets/shaders/sprite.vert

23 lines
458 B
GLSL
Raw Permalink Normal View History

#version 150 core
uniform ivec2 Viewport;
uniform mat3 Transform;
2024-01-20 00:01:20 +00:00
uniform sampler2D Texture;
2024-01-20 00:01:20 +00:00
in vec2 Vert;
2024-01-22 20:08:42 +00:00
in vec4 Rect;
in vec4 Clip;
out vec2 TextureCoord;
void main() {
2024-01-20 00:01:20 +00:00
vec2 vert = mix(Rect.xy, Rect.zw, Vert);
vec3 pos = Transform * vec3(vert, 1.0);
2024-01-20 00:01:20 +00:00
TextureCoord = mix(Clip.st, Clip.pq, Vert) / textureSize(Texture, 0);
gl_Position.xy = pos.xy * vec2(2.0, -2.0) / Viewport + vec2(-1.0, 1.0);
gl_Position.z = 0.0;
gl_Position.w = 1.0;
}