xxxxxxxxxx// Author: Sol Sarratea @solquemal// Title: Fundamentales // posicion -> colorprecision 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.); }