mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-02-11 04:35:24 +01:00
49 lines
1.2 KiB
GLSL
49 lines
1.2 KiB
GLSL
attribute vec3 in_Position; // (x,y,z)
|
|
attribute vec4 in_Colour; // (r,g,b,a)
|
|
|
|
varying vec4 v_vColour;
|
|
varying vec2 v_vPosition;
|
|
|
|
uniform vec2 flipPos;
|
|
uniform vec2 flipSize;
|
|
|
|
void main() {
|
|
vec4 object_space_pos = vec4( in_Position, 1.0);
|
|
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
|
|
|
|
v_vColour = in_Colour;
|
|
v_vPosition = (in_Position.xy - flipPos) / flipSize;
|
|
}
|
|
|
|
//######################_==_YOYO_SHADER_MARKER_==_######################@~
|
|
varying vec4 v_vColour;
|
|
varying vec2 v_vPosition;
|
|
|
|
uniform sampler2D texture;
|
|
uniform sampler2D textureBack;
|
|
uniform vec2 dimension;
|
|
uniform vec2 fr_flipPos;
|
|
uniform vec2 fr_flipSize;
|
|
uniform int hasBack;
|
|
uniform int axis;
|
|
uniform int flip;
|
|
|
|
void main() {
|
|
vec2 flSiz = fr_flipSize / dimension;
|
|
vec2 flPos = fr_flipPos / dimension;
|
|
vec2 pos = v_vPosition;
|
|
|
|
if(flip == 1) {
|
|
if(axis == 0) pos.y = 1. - pos.y;
|
|
if(axis == 1) pos.x = 1. - pos.x;
|
|
}
|
|
|
|
vec2 coord = flPos + pos * flSiz;
|
|
vec4 col;
|
|
|
|
if(hasBack == 1 && flip == 1) col = texture2D( textureBack, coord );
|
|
else col = texture2D( texture, coord );
|
|
|
|
gl_FragColor = col;
|
|
}
|
|
|