09 Dibujar en varias pasadas
Sombras: dibujar primero un mapa de profundidad desde la luz
Abajo a la izquierda se muestra la profundidad que «ve» la luz. Donde un objeto bloquea la luz, el suelo queda en sombra.
-33
-0.0040.002
Ejercicio
Arrastra los números subrayados a izquierda y derechaArrastra los números o edita el código
renderer.shadowMap.enabled = true;light.castShadow = true;light.shadow.bias = ;mesh.castShadow = ;ground.receiveShadow = ;light.position.x = ;// en el shader, aproximadamente:// float lit = myDepth - bias < mapDepth ? 1.0 : 0.0;
Mapa de sombrasPasada 1: ver la escena desde la luz y guardar solo la profundidad. Pasada 2: comparar «mi distancia a la luz» con el mapa.Lado JS
Sombra = dibujar primero un mapa de profundidad desde la luz y después comprobar si «mi distancia a la luz» es mayor de lo que indica el mapa.
Pruébalo
- Mira abajo a la izquierda: el mapa de profundidad de la luz
- Pon bias en 0: aparecen franjas en las superficies (acné de sombras)
- Desactiva la proyección de sombras