Red de conocimiento informático - Consumibles informáticos - Inspección de mapas de profundidad de mapas de sombras

Inspección de mapas de profundidad de mapas de sombras

Después de encontrar las coordenadas del espacio de iluminación, xey generalmente corresponden a la posición de la textura del mapa de profundidad, y z corresponde a la profundidad correspondiente, para que pueda compararse con el mapa de profundidad.

Si z es mayor que el valor guardado en la posición correspondiente en el mapa de profundidad, entonces se considera que el objeto está ocluido por otros objetos, y este punto se marca como fallido y se representa como un estado de sombra durante el proceso de dibujo; de lo contrario, simplemente dibújelo iluminado.

Si la posición queda fuera del mapa de profundidad, entonces el programa necesita determinar si la superficie se dibuja utilizando el método de iluminación o sombreado predeterminado, que generalmente se dibuja en el estado iluminado.

En la implementación del sombreador, este proceso se completa a nivel de fragmento. Además, debe prestar atención al elegir el tipo de almacenamiento del mapa de textura utilizado por el hardware: si no se puede realizar la interpolación, las sombras tendrán límites irregulares obvios. Este fenómeno se puede reducir utilizando una resolución de mapa de sombras más alta.

Utilizar un rango de valores basado en la proximidad al límite de la sombra en lugar de simplemente pasar o fallar puede lograr un límite de sombra más suave.

Las técnicas de mapeo de sombras también se pueden modificar para generar texturas en áreas iluminadas, simulando así el efecto de un proyector. La imagen de arriba titulada "Visibilidad de los mapas de profundidad proyectados en la escena" es un ejemplo de esto.

Dibujar la escena

Las escenas con sombras se pueden dibujar de varias maneras diferentes. Si hay un sombreador programable disponible, la inspección del mapa de profundidad se puede realizar utilizando un sombreador de fragmentos. Después de generar inicialmente un mapa de sombras, puede completar el dibujo de sombras u objetos iluminados según los resultados de una sola vez.

Si no hay una herramienta de sombras disponible, generalmente hay que usar algunas extensiones de hardware como GL_ARB_shadow, etc. para verificar el mapa de sombras. Generalmente no permiten elegir entre dos modelos de iluminación y requieren más pases de renderizado. :

Representa toda la escena en sombra. Para la mayoría de los modelos de iluminación (ver Modelo de reflexión de Phong), esto es técnicamente posible usando solo el componente ambiental de la iluminación, pero generalmente se agrega una luz difusa y borrosa para que las superficies planas en la sombra parezcan tener cierta curvatura. Utilice la inspección del mapa de profundidad y luego renderice la escena iluminada. Las áreas que no pasaron la verificación del mapa de profundidad no deben cubrirse y permanecer en el estado de sombra. Para cada luz adicional que pueda requerir un procesamiento adicional, su efecto se combina con el efecto ya dibujado mediante un método de mezcla aditiva. Cada uno de estos procesos requiere un proceso anterior que genera el mapa de sombras correspondiente.

La imagen de ejemplo de este artículo utiliza la extensión OpenGL GL_ARB_shadow_ambient para completar el proceso de mapeo de sombras.