mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-11 14:03:23 -05:00
45 lines
1.2 KiB
Plaintext
45 lines
1.2 KiB
Plaintext
|
|
struct inputdata
|
|
{
|
|
vec2 video_size;
|
|
vec2 texture_size;
|
|
vec2 output_size;
|
|
float frame_count;
|
|
float frame_direction;
|
|
float frame_rotation;
|
|
};
|
|
|
|
|
|
attribute vec4 a_position;
|
|
attribute vec2 a_texCoord;
|
|
varying vec4 TexCoord[8];
|
|
varying vec2 v_texCoord;
|
|
uniform inputdata IN;
|
|
|
|
void main()
|
|
{
|
|
gl_Position = a_position;
|
|
|
|
vec2 ps = vec2(1.0/IN.texture_size.x, 1.0/IN.texture_size.y);
|
|
float dx = ps.x;
|
|
float dy = ps.y;
|
|
|
|
v_texCoord = a_texCoord;
|
|
TexCoord[0].xy = a_texCoord + vec2(-dx,-dy);
|
|
TexCoord[0].zw = a_texCoord + vec2(-dx, 0);
|
|
TexCoord[1].xy = a_texCoord + vec2(+dx,-dy);
|
|
TexCoord[1].zw = a_texCoord + vec2(+dx+dx,-dy);
|
|
TexCoord[2].xy = a_texCoord + vec2(-dx, 0);
|
|
TexCoord[2].zw = a_texCoord + vec2(+dx, 0);
|
|
TexCoord[3].xy = a_texCoord + vec2(+dx+dx, 0);
|
|
TexCoord[3].zw = a_texCoord + vec2(-dx,+dy);
|
|
TexCoord[4].xy = a_texCoord + vec2( 0,+dy);
|
|
TexCoord[4].zw = a_texCoord + vec2(+dx,+dy);
|
|
TexCoord[5].xy = a_texCoord + vec2(+dx+dx,+dy);
|
|
TexCoord[5].zw = a_texCoord + vec2(-dx,+dy+dy);
|
|
TexCoord[6].xy = a_texCoord + vec2( 0,+dy+dy);
|
|
TexCoord[6].zw = a_texCoord + vec2(+dx,+dy+dy);
|
|
TexCoord[7].xy = a_texCoord + vec2(+dx+dx,+dy+dy);
|
|
}
|
|
|