TA159

Notas, resueltos y trabajos practicos de la materia Sistemas Gráficos
Index Commits Files Refs Submodules README LICENSE
commit 220cd6b6634a9b28be95ad3ae5d4ea1e0900f463
parent 5cce5023cde7190854b7f7daa9e4e1fe81fcca04
Author: Martin Klöckner <mjkloeckner@gmail.com>
Date:   Sat, 18 May 2024 18:08:56 -0300

add `clases/2024-05-16.md`

Diffstat:
Aclases/2024-05-16.md | 51+++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+), 0 deletions(-)
diff --git a/clases/2024-05-16.md b/clases/2024-05-16.md
@@ -0,0 +1,51 @@
+# Clase 06-05-24
+
+\tableofcontents
+
+## Efectos de post-procesado con `EffectComposer`
+
+* Se utiliza para aplicar filtros a una imagen ya generada
+* Ocurre al final del pipeline gráfico
+* Estos filtros por lo general utilizan información de profundidad del
+  `depthBuffer` en el cual se almacena la coordenada `z` de los objetos cuando
+  se proyectan en la imagen final
+* El rasterizador solo dibuja lo que pasa por el centro del pixel
+* Para el [efecto de blur](https://threejs.org/examples/?q=post#webgl_postprocessing_unreal_bloom)
+  se utiliza un filtro de convolución
+
+## Render to texture
+
+Se guarda el resultado de un render en una textura y luego se puede aplicar
+sobre un objeto
+
+## Partículas
+
+Las partículas se representan utilizando `sprites` los cuales son imágenes de 2D
+que siempre están de frente a la cámara
+
+## Shadow maps
+
+Se guarda una imagen del render en escala de grises con más precision de los
+normal, por lo general `float16` o `float32`. Luego la luz "ilumina" hasta una
+profundidad dada por el mapa de grises
+
+* Solo funciona con luces que tienen frustum
+
+## [Raycaster](https://threejs.org/docs/index.html?q=raycaster#api/en/core/Raycaster)
+
+Calcula la intersección entre un rayo y un objeto. Se puede utilizar para
+interacciones con el mouse, utilizando como rayo aquel que se origina en la
+cámara y atraviesa el cursor.
+
+```js
+// update the picking ray with the camera and pointer position
+raycaster.setFromCamera( pointer, camera );
+
+// calculate objects intersecting the picking ray
+const intersects = raycaster.intersectObjects( scene.children );
+```
+
+## [Web Audio](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API)
+
+Se puede utilizar para simular sonidos tridimensionales. Tiene un modelo muy
+preciso para simular como absorbe las frecuencias el cráneo humano