Shader Learn

01 Fragmentos y datos

main: leer entradas, calcular, escribir salidas

Izquierda: brillo original. Derecha: tras atenuarlo. Se ejecuta línea a línea, como una función de C.

OriginalAtenuado
Brillo final0.48
01
01
Explicación

Arrastra los números subrayados a izquierda y derecha

uniform float uInput; //  brillo originaluniform float uGain;  //  fracción conservadavoid main() {  float result = uInput * uGain; // = 0.48  vec3 color = vec3(result);  gl_FragColor = vec4(color, 1.0);}
  1. leer entradas
  2. multiplicar
  3. escribir salida
uniformLo pasa JS y lo comparten todos los fragmentos
mainDonde empieza a ejecutarse cada llamada
=Guarda el lado derecho en el izquierdo
Lado JSgl.uniform1f(uInput, 0.80) gl.uniform1f(uGain, 0.60)

Un uniform es un valor que pasa JS; main lee entradas, calcula y escribe salidas de arriba abajo, como una función de C.

Pruébalo

  • Pulsa «Mitad»: ¿cuál es el resultado?
  • Lleva uGain a 0 y el lado derecho se oscurece