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