xxxxxxxxxx
// Author: Sol Sarratea @solquemal
// Title: Fundamentales - Transformaciones en el espacio
precision mediump float;
uniform float u_time;
uniform vec2 u_resolution;
vec2 uv(){
/* Devuelve las posiciones del canvas en rango [-1.,1.]x[-1.,1.] */
vec2 pos = gl_FragCoord.xy/u_resolution;
pos.x *= u_resolution.y/u_resolution.x;
pos = pos *2.-1.;
return pos;
}
vec2 uvN(){
/* Devuelve las posiciones del canvas en rango [0.,1.]x[0.,1.] */
vec2 pos = gl_FragCoord.xy/u_resolution;
pos.x *= u_resolution.y/u_resolution.x;
return pos;
}
vec2 polares(){
/* Devuelve las posiciones del canvas en rango [0,√2]x[-PI.,PI.] */
vec2 pos = uv();
float radio = length(pos); float angulo = atan(pos.y,pos.x);
return vec2(radio,angulo);
}
vec2 rotacion (vec2 pos, float cantidad){
return pos * mat2(cos(cantidad),sin(cantidad),-sin(cantidad),cos(cantidad));
}
void main() {
vec2 pos = uv(); vec3 color;
gl_FragColor = vec4(color, 1.);
}