Sintaxis GLSL

Detalle de escritura para interesades en fragment shaders

IN vec2 texCoord; // Posición normalizada

// Variables uniformes
// puente entre CPU - GPU permite mapear información-valores externos
// Por ejemplo: el tiempo
uniform float time;


{{MODULES_HEAD}}

void main()
{
  
    /* Declaración de variables
       tipo nombre = valor; */

    // Números reales
    float number_0 = 1.0; // (con el ".0")
    int number_1 = 1;

    // Vectores 
    // 2 dimensiones [_ ,_ ]
    vec2 v2_0 = vec2(0.,1.);
    vec2 v2_1 = vec2(number_0,number_1);

    //3 dimensiones [_ ,_ ,_ ]
    vec3 v3_0 = vec3(0.,0.5,1.);
    vec3 v3_1 = vec3(v2_0,1.);
    vec3 v3_2 = vec3(v2_0,number_0);

    //4 dimensiones [_ ,_ ,_ ,_ ]
    vec4 v4_0 = vec4(0.,0.25,0.5,1.);
    vec4 v4_1 = vec4(v2_0,v2_1);
    vec4 v4_2 = vec4(v3_0,0.);

    // Referenciar la información  de los vectores
    // [r, g, b, a] || [x , y , z , w] 

    float numero_2 = v4_0.r; // es equivalente a v4_0.x
    vec2 v2_2 = v4_0.rg;     // es equivalente a v4_0.xy
    vec3 v3_3 = v4_0.gbr;    // es equivalente a v4_0.yzx
    
    //Las varibales que empiezan con"gl_" son variables built-in de GLSL
    // En cables.gl gl_FragColr es igual a usar outColor
    gl_FragColor = vec4(0.5); // [ (r, g ,b , a) ] con valores entre 0. y 1.
}

Last updated