¿Cuál es la diferencia entre Shadow Volume y Shadow Mapping en Computer Graphics?


Respuesta 1:

Un volumen de sombra es una malla, construida al extruir el volumen de un objeto lejos de la fuente de luz (solo se extruyen los bordes de la silueta del objeto como se ve por la fuente de luz).

Esta malla se renderiza en el búfer de la plantilla con algunos trucos geniales para determinar qué píxeles están en la sombra. Luego, se puede mezclar un color de sombra de pantalla completa sobre los píxeles sombreados (o, alternativamente, se puede representar un sombreador de iluminación de pantalla completa sobre píxeles que no están en sombra).

Por el contrario, un mapa de sombras es una textura de profundidad de la escena renderizada desde la fuente de luz en una dirección determinada.

Luego, cuando se trata de representar la escena en el framebuffer, el sombreador de píxeles transforma la posición de la superficie en ese píxel en el 'espacio de la cámara' de la luz, y compara el valor (distancia) en el mapa de sombras con la distancia de superficie que se pinta en ese píxel a la posición de la cámara en el espacio mundial. Si el valor del mapa de sombras es menor, entonces el píxel en la pantalla está en la sombra.

Las ventajas de los volúmenes sombreados es que es perfecto en píxeles. No obtienes artefactos feos cuando la resolución de la pantalla y la resolución del mapa de sombras no están sincronizadas.

También es perfectamente capaz de fuentes de luz puntuales sin ninguna modificación, mientras que el mapeo de sombras solo puede hacer focos y fuentes de luz direccionales, o usarse en un cubo para simular una luz puntual.

Sin embargo, las desventajas son que la construcción de la malla de borde extruido lleva tiempo y debe realizarse cada cuadro para cada objeto de proyección de sombras para cada fuente de luz. También mata el índice de relleno, ya que tiene que representar muchos píxeles en la pantalla varias veces en el búfer de la plantilla.

DOOM3 es famoso por usar volúmenes de sombra, pero creo que los mapas de sombra se usan con mayor frecuencia en la actualidad.


Respuesta 2:

Shadow Volumes y Shadow Maps son dos formas alternativas de representar sombras en tiempo real.

Un mapa de sombras es un mapa de profundidad representado desde el punto de vista de la fuente de luz.

Al renderizar superficies, se realiza una transformación comparando la distancia de la superficie a la luz y comparándola con el valor de píxel en el mapa de profundidad. Si los valores no coinciden, se supone que la superficie está en la sombra.

Un volumen de sombra es una malla de polígonos construida dinámicamente que se proyecta desde la silueta de un objeto. Estos polígonos se representan en un búfer de plantilla y de tal manera que donde este volumen penetra en la geometría de la escena, se deja un valor diferente en el búfer de plantilla. Este valor se utiliza para determinar el estado de sombra no sombra.

Tampoco son soluciones particularmente geniales para fines generales.

Los mapas de sombras se proyectan en una sola dirección. Así que no es bueno para las fuentes puntuales. La resolución del mapa también es un problema, ya que los artefactos de muestreo son visibles desde los píxeles individuales del mapa.

Los volúmenes de sombra se pueden usar para fuentes puntuales. Pero se vuelven cada vez más caros a medida que aumenta la complejidad geométrica. La representación de los volúmenes puede ser costosa ya que los polígonos fundidos se apilan uno encima del otro, lo que resulta en mucho sobregiro. Los volúmenes de sombras crean una sombra característica de bordes duros, que es precisa, pero la mayoría de los artistas prefieren algo más suave.

Los mapas de sombras tienden a usarse más, porque hay medios artísticos para que se vean bien. Se pueden usar varios trucos de filtrado para que parezcan más naturalistas.

Penumbrae, elementos transparentes desordenan ambos algoritmos.

Los motores de juego más nuevos se están alejando de ambos métodos. En su lugar, utilizan soluciones de fundición de rayos. Lo que implica el muestreo en alguna representación volumétrica de la escena. Por lo general, algún tipo de oct-tree. Estos métodos permiten una aproximación razonable de una penumbra que parece naturalista.