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
Ejercicio
Se ejecuta una vez por píxelArrastra los números o edita el código
Lado JS
gl.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