Shader Learn

03 Tiempo, interacción y repetición

uniform: pasar el tiempo al shader

JavaScript pasa los segundos en cada fotograma. Pausa y arrastra el tiempo: la imagen salta.

-44
112
010

Se ejecuta una vez por píxelArrastra los números o edita el código

Lado JSgl.uniform2f(uResolution, …, …) gl.uniform1f(uTime, 0.00) // cada fotograma (requestAnimationFrame) const seconds = elapsed + jump gl.uniform1f(uTimeLocation, seconds) gl.drawElements(...)

Un shader no puede medir el tiempo ni recordar el fotograma anterior. JS pasa un nuevo uTime en cada fotograma; el mismo tiempo siempre da la misma imagen.

Pruébalo

  • Pausa y cambia «Saltar al tiempo»: la imagen cambia con él
  • Haz negativa la velocidad: las ondas retroceden