1 # Clase 16-05-24 2 3 \tableofcontents 4 5 ## Efectos de post-procesado con `EffectComposer` 6 7 * Se utiliza para aplicar filtros a una imagen ya generada 8 * Ocurre al final del pipeline gráfico 9 * Estos filtros por lo general utilizan información de profundidad del 10 `depthBuffer` en el cual se almacena la coordenada `z` de los objetos cuando 11 se proyectan en la imagen final 12 * El rasterizador solo dibuja lo que pasa por el centro del pixel 13 * Para el [efecto de blur](https://threejs.org/examples/?q=post#webgl_postprocessing_unreal_bloom) 14 se utiliza un filtro de convolución 15 16 ## Render to texture 17 18 Se guarda el resultado de un render en una textura y luego se puede aplicar 19 sobre un objeto 20 21 ## Partículas 22 23 Las partículas se representan utilizando `sprites` los cuales son imágenes de 2D 24 que siempre están de frente a la cámara 25 26 ## Shadow maps 27 28 Se guarda una imagen del render en escala de grises con más precision de los 29 normal, por lo general `float16` o `float32`. Luego la luz "ilumina" hasta una 30 profundidad dada por el mapa de grises 31 32 * Solo funciona con luces que tienen frustum 33 34 ## [Raycaster](https://threejs.org/docs/index.html?q=raycaster#api/en/core/Raycaster) 35 36 Calcula la intersección entre un rayo y un objeto. Se puede utilizar para 37 interacciones con el mouse, utilizando como rayo aquel que se origina en la 38 cámara y atraviesa el cursor. 39 40 ```js 41 // update the picking ray with the camera and pointer position 42 raycaster.setFromCamera( pointer, camera ); 43 44 // calculate objects intersecting the picking ray 45 const intersects = raycaster.intersectObjects( scene.children ); 46 ``` 47 48 ## [Web Audio](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API) 49 50 Se puede utilizar para simular sonidos tridimensionales. Tiene un modelo muy 51 preciso para simular como absorbe las frecuencias el cráneo humano