26 lines
521 B
GLSL
26 lines
521 B
GLSL
#version 150 core
|
|
|
|
uniform ivec2 Viewport;
|
|
uniform mat3 Transform;
|
|
uniform vec4 BoundingBox;
|
|
|
|
in vec2 Vert;
|
|
|
|
/* TODO: instances */
|
|
// in vec4 Rect;
|
|
// in vec4 Clip;
|
|
|
|
out vec2 TextureCoord;
|
|
|
|
void main() {
|
|
vec2 vert = mix(BoundingBox.xy, BoundingBox.zw, Vert);
|
|
vec3 pos = Transform * vec3(vert, 1.0);
|
|
|
|
// TextureCoord = mix(Clip.st, Clip.pq, Vert) / textureSize(T, 0);
|
|
TextureCoord = Vert;
|
|
|
|
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;
|
|
}
|