/clases/fund1/ init checkpoint 0 checkpoint 1 bonus
xxxxxxxxxx
1
// Author: Sol Sarratea @solquemal
2
// Title: Fundamentales 
3
// posicion -> color
4
5
precision mediump float;
6
7
uniform float u_time;
8
uniform vec2 u_resolution;
9
10
vec2 uv(){
11
    /* Devuelve las posiciones del canvas en rango [-1.,1.]x[-1.,1.] */
12
    vec2 pos = gl_FragCoord.xy/u_resolution; 
13
    pos.x *= u_resolution.y/u_resolution.x;
14
    pos = pos *2.-1.;
15
    return pos;
16
}
17
18
vec2 uvN(){
19
    /* Devuelve las posiciones del canvas en rango [0.,1.]x[0.,1.] */
20
    vec2 pos = gl_FragCoord.xy/u_resolution; 
21
pos.x *= u_resolution.y/u_resolution.x;  
22
return pos;
23
}
24
25
float verEjes(vec2 pos){
26
    float ejes; 
27
    ejes += 1.-step(0.009, distance(pos.x,0.));
28
    ejes += 1.-step(0.009, distance(pos.y,0.));
29
    return ejes;
30
}
31
32
void main() {
33
    vec2 pos; vec3 color;
34
    pos = uvN();
35
    //Visualizamos los ejes
36
        color.g = verEjes(pos);
37
    color.rb = pos;  //[( r,b )] == [( x,y )]
38
        
39
    // Mapeamos valores para entender el rango
40
    //[( r,b )] == [( 1,0 )] full rojo 
41
    //[( r,b )] == [( 0,1 )] full azul
42
    //[( r,b )] == [( 1.,1. )] full rojo y azul
43
    //[( r,b )] == [( 0.,0. )]  sin rojo, sin azul 
44
    //Identificamos el rango de la variable x y de la variable y
45
    
46
    ////////////////////////////////////////////
47
    //Cuento la historia de Descartes y **amamos los sistemas de referencia**
48
    
49
    //Posicionamos el centro de la pantalla en el medio
50
    //color.rb = uvN();  //[( r,b )] == [( x,y )]
51
    
52
    gl_FragColor = vec4(color,1.); 
53
54
}
55
56
57