2014-01-04 17:12:30 +00:00
|
|
|
uniform vec2 center;
|
|
|
|
uniform vec2 size;
|
2014-01-04 23:28:59 +00:00
|
|
|
uniform vec2 texcenter;
|
|
|
|
uniform vec2 texsize;
|
2019-08-16 10:31:24 +08:00
|
|
|
uniform float rotation;
|
2017-02-01 21:58:10 +01:00
|
|
|
#ifdef Explicit_Attrib_Location_Usable
|
2014-08-13 20:25:56 +02:00
|
|
|
layout(location=0) in vec2 Position;
|
|
|
|
layout(location=3) in vec2 Texcoord;
|
2014-02-28 17:29:05 +01:00
|
|
|
#else
|
2014-08-13 20:25:56 +02:00
|
|
|
in vec2 Position;
|
|
|
|
in vec2 Texcoord;
|
2014-02-28 17:29:05 +01:00
|
|
|
#endif
|
|
|
|
|
2014-08-13 20:25:56 +02:00
|
|
|
out vec2 uv;
|
2014-01-04 17:12:30 +00:00
|
|
|
|
|
|
|
void main()
|
|
|
|
{
|
2019-08-16 10:31:24 +08:00
|
|
|
float s = sin(rotation);
|
|
|
|
float c = cos(rotation);
|
|
|
|
mat2 m = mat2(c, -s, s, c);
|
2014-08-13 20:25:56 +02:00
|
|
|
uv = Texcoord * texsize + texcenter;
|
2019-08-16 10:31:24 +08:00
|
|
|
gl_Position = vec4(m * Position * size + center, 0., 1.) ;
|
2017-02-01 21:58:10 +01:00
|
|
|
}
|