mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2024-11-11 13:03:49 +01:00
50 lines
863 B
Plaintext
50 lines
863 B
Plaintext
|
// 2024-04-18 08:38:57
|
||
|
varying vec2 v_vTexcoord;
|
||
|
varying vec4 v_vColour;
|
||
|
|
||
|
uniform vec2 dimension;
|
||
|
uniform int axis;
|
||
|
uniform float iteration;
|
||
|
|
||
|
void main() {
|
||
|
vec2 tx = 1. / dimension;
|
||
|
vec4 col = texture2D( gm_BaseTexture, v_vTexcoord );
|
||
|
gl_FragColor = col;
|
||
|
|
||
|
if(col.a == 1.)
|
||
|
return;
|
||
|
|
||
|
float _min, _cmp;
|
||
|
vec2 _str, _axs;
|
||
|
|
||
|
if(axis == 0) {
|
||
|
_min = dimension.x;
|
||
|
_cmp = _min * v_vTexcoord.x;
|
||
|
|
||
|
_str = vec2(0., v_vTexcoord.y);
|
||
|
_axs = vec2(tx.x, 0.);
|
||
|
|
||
|
} else {
|
||
|
_min = dimension.y;
|
||
|
_cmp = _min * v_vTexcoord.y;
|
||
|
|
||
|
_str = vec2(v_vTexcoord.x, 0.);
|
||
|
_axs = vec2(0., tx.y);
|
||
|
|
||
|
}
|
||
|
|
||
|
for(float i = 1.; i < 2048.; i++) {
|
||
|
if(i > iteration) break;
|
||
|
|
||
|
vec2 sx = _str + _axs * i;
|
||
|
vec4 ss = texture2D( gm_BaseTexture, sx );
|
||
|
|
||
|
if(ss.a == 1. && abs(i - _cmp) < _min) {
|
||
|
_min = abs(i - _cmp);
|
||
|
col = ss;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
gl_FragColor = col;
|
||
|
}
|