¿Qué es el auto-sombreado?
"Auto-sombreado" es un término que describe la circunstancia en la que una parte de un objeto arroja una sombra sobre sí misma. Los ejemplos de auto sombra incluyen la sombra proyectada por una nariz humana en la cara o el labio superior cuando la fuente de luz proviene de arriba, o la sombra proyectada por el asiento de una silla en las patas de la silla. Cuando el término se usa en gráficos de computadora, específicamente en programación de gráficos de computadora, es una referencia a las sombras proyectadas por los objetos tridimensionales (3D) de una escena sobre sí mismos, o las sombras proyectadas por objetos dinámicos sobre sí mismos y los objetos a su alrededor. . La naturaleza de la programación de gráficos por computadora en 3D en tiempo real hace que muchas aplicaciones usen técnicas que a menudo eliminan la posibilidad de generar sombras propias en favor de otras optimizaciones, aunque, a medida que aumenta la velocidad y las capacidades de las computadoras, los métodos de sombreado automático en tiempo real se han vuelto más accesibles. Existen varios métodos para representar objetos de sombreado automático en tiempo real, pero las limitaciones de hardware generalmente producen resultados que tienen algunos inconvenientes, como sombras inexactas, sombras con bordes artificialmente duros o escenas que se procesan muy lentamente en tarjetas gráficas que no son increíblemente rápidas .
Una distinción que se debe hacer al hablar sobre el sombreado automático es la diferencia entre los objetos estáticos y dinámicos en los gráficos en tiempo real. Los objetos estáticos son objetos 3D en una escena que no se mueven y no tienen ninguna parte de su geometría cambiada en el transcurso del renderizado. Un objeto dinámico, por otro lado, es un objeto que no está directamente conectado a la escena de ninguna manera y puede ser diferente de un cuadro a otro. En su mayor parte, la mayoría de los objetos estáticos y las escenas en tiempo no real se ocultan, ya sea por el motor de renderizado o por otros trucos gráficos que se pueden utilizar.
Varias optimizaciones que se utilizan para renderizar gráficos 3D en tiempo real dificultan la implementación del auto sombreado dinámico. Algunos ejemplos incluyen un motor gráfico que solo aplica efectos de iluminación a un fondo estático, ignorando objetos dinámicos como los personajes de una escena, o un motor que trata los objetos solo como siluetas, sin tener en cuenta la geometría interna. Con el aumento de los procesadores gráficos y las computadoras, las nuevas técnicas permiten que los objetos sombreados aparezcan en una escena en tiempo real, con algunas limitaciones y compensaciones.
Los volúmenes de sombra son una forma de implementar el sombreado automático en una escena 3D. Este método esencialmente crea objetos 3D que ocupan un volumen cerrado en una escena donde se proyecta una sombra, lo que permite al renderizador o sombreador realizar pruebas sobre si algún punto está dentro de un volumen sombreado para determinar cómo se ilumina. Otros métodos crean mapas de sombras, o sombras aproximadas desde las posiciones de los vértices, para crear sombras muy difusas que no necesariamente siguen la fidelidad de un borde.
Casi todos los métodos de auto-sombreado tienen que intercambiar velocidad o calidad para obtener un resultado aceptable. Los problemas de calidad pueden ocurrir a través del uso de técnicas rápidas pero de baja resolución o difusas que pueden hacer que algunas sombras parezcan incorrectas o fuera de lugar. Los problemas de velocidad ocurren cuando los algoritmos utilizados requieren demasiada sobrecarga por cuadro o intentan calcular las proyecciones de sombra con demasiada precisión. Aunque no existe un algoritmo estándar único de producción de sombras, algunas tarjetas gráficas incluyen aceleración nativa para diferentes métodos que pueden aumentar la velocidad de algunas técnicas.