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