xxxxxxxxxx
// Author: Sol Sarratea @solquemal
// Title: Fundamentales
// posicion -> color
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;
}
float verEjes(vec2 pos){
float ejes;
ejes += 1.-step(0.009, distance(pos.x,0.));
ejes += 1.-step(0.009, distance(pos.y,0.));
return ejes;
}
void main() {
vec2 pos; vec3 color;
pos = uvN();
//Visualizamos los ejes
color.g = verEjes(pos);
color.rb = pos; //[( r,b )] == [( x,y )]
// Mapeamos valores para entender el rango
//[( r,b )] == [( 1,0 )] full rojo
//[( r,b )] == [( 0,1 )] full azul
//[( r,b )] == [( 1.,1. )] full rojo y azul
//[( r,b )] == [( 0.,0. )] sin rojo, sin azul
//Identificamos el rango de la variable x y de la variable y
////////////////////////////////////////////
//Cuento la historia de Descartes y **amamos los sistemas de referencia**
//Posicionamos el centro de la pantalla en el medio
//color.rb = uvN(); //[( r,b )] == [( x,y )]
gl_FragColor = vec4(color,1.);
}