El sombreado se refiere a la representación de la percepción de profundidad en modelos 3D (dentro del campo de los gráficos por computadora en 3D ) o ilustraciones (en arte visual ) variando el nivel de oscuridad . [1] El sombreado intenta aproximar el comportamiento local de la luz en la superficie del objeto y no debe confundirse con técnicas de adición de sombras, como el mapeo de sombras o los volúmenes de sombras , que caen bajo el comportamiento global de la luz.
En dibujo
El sombreado se usa tradicionalmente en el dibujo para representar un rango de oscuridad mediante la aplicación de medios más densamente o con un tono más oscuro para las áreas más oscuras, y menos densamente o con un tono más claro para las áreas más claras. Los patrones de luz, como los objetos que tienen áreas claras y sombreadas, ayudan a crear la ilusión de profundidad en el papel. [2] [3]
Existen varias técnicas de sombreado, incluido el rayado cruzado , donde se dibujan líneas perpendiculares de diferente proximidad en un patrón de cuadrícula para sombrear un área. Cuanto más cerca estén las líneas, más oscura aparecerá el área. Del mismo modo, cuanto más separadas estén las líneas, más clara aparecerá el área.
El sombreado en polvo es un método de sombreado de bocetos . En este estilo, se utilizan tocones de polvo y papel para hacer un dibujo. (Esto puede ser en color). El polvo de muñón es suave y no tiene partículas brillantes. El papel a utilizar debe tener pequeños granos para que el polvo permanezca en el papel.
En gráficos por computadora
En gráficos por computadora , el sombreado se refiere al proceso de alterar el color de un objeto / superficie / polígono en la escena 3D, basado en cosas como (pero no limitado a) el ángulo de la superficie a las luces, su distancia a las luces, su ángulo a la propiedades de la cámara y del material (por ejemplo, función de distribución de reflectancia bidireccional ) para crear un efecto fotorrealista .
El sombreado se realiza durante el proceso de renderizado mediante un programa llamado sombreador .
Ángulo de superficie a una fuente de luz
El sombreado altera los colores de las caras en un modelo 3D según el ángulo de la superficie a una fuente de luz o fuentes de luz.
La primera imagen a continuación tiene las caras del cuadro renderizadas, pero todas en el mismo color. Las líneas de borde también se han renderizado aquí, lo que hace que la imagen sea más fácil de ver.
La segunda imagen es el mismo modelo renderizado sin líneas de borde. Es difícil saber dónde termina una cara de la caja y comienza la siguiente.
La tercera imagen tiene el sombreado habilitado, lo que hace que la imagen sea más realista y facilita ver qué rostro es cuál.
Tipos de iluminación
Cuando un sombreador calcula el color del resultado, utiliza un modelo de iluminación para determinar la cantidad de luz reflejada en puntos específicos de la superficie. Se pueden combinar diferentes modelos de iluminación con diferentes técnicas de sombreado; mientras que la iluminación indica cuánta luz se refleja, el sombreado determina cómo se utiliza esta información para calcular el resultado final. Por ejemplo, puede calcular la iluminación solo en puntos específicos y utilizar la interpolación para completar el resto. El sombreador también puede decidir cuántas fuentes de luz tomar en cuenta, etc.
Iluminación ambiental
Una fuente de luz ambiental representa una fuente de luz omnidireccional, de intensidad fija y de color fijo que afecta a todos los objetos de la escena por igual (es omnipresente). Durante el renderizado, todos los objetos de la escena se iluminan con la intensidad y el color especificados. Este tipo de fuente de luz se utiliza principalmente para proporcionar a la escena una vista básica de los diferentes objetos que contiene. Este es el tipo de iluminación más simple de implementar y modela cómo la luz se puede dispersar o reflejar muchas veces, produciendo así un efecto uniforme.
La iluminación ambiental se puede combinar con la oclusión ambiental para representar qué tan expuesto está cada punto de la escena, lo que afecta la cantidad de luz ambiental que puede reflejar. Esto produce una iluminación difusa y no direccional en toda la escena, que no proyecta sombras claras, pero con áreas cerradas y protegidas oscurecidas. El resultado suele ser visualmente similar a un día nublado.
Iluminación puntual
La luz se origina en un solo punto y se extiende hacia afuera en todas las direcciones.
Destacando
Modela un foco : la luz se origina en un solo punto y se extiende hacia afuera en forma de cono .
Iluminación de área
La luz se origina en un área pequeña en un solo plano . (Un modelo más realista que una fuente de luz puntual).
Iluminación direccional
Una fuente de luz direccional ilumina todos los objetos por igual desde una dirección determinada , como una luz de área de tamaño infinito y distancia infinita de la escena; hay sombreado, pero no puede haber caída de distancia. Esto es como el sol .
Descenso de la distancia
En teoría, dos superficies que son paralelas se iluminan prácticamente en la misma cantidad desde una fuente de luz distante no bloqueada, como el sol. El efecto de disminución de la distancia produce imágenes que tienen más sombras y, por lo tanto, serían realistas para fuentes de luz proximales.
La imagen de la izquierda no utiliza la reducción de la distancia. Observe que los colores de las caras frontales de las dos cajas son exactamente iguales. Puede parecer que hay una ligera diferencia donde las dos caras se superponen directamente, pero esto es una ilusión óptica causada por el borde vertical debajo de donde las dos caras se encuentran.
La imagen de la derecha utiliza la reducción de la distancia. Observe que la cara frontal del cuadro más cercano es más brillante que la cara frontal del cuadro posterior. Además, el piso va de claro a oscuro a medida que se aleja.
Cálculo
La caída de la distancia se puede calcular de varias formas:
- Potencia de la distancia : para un punto dado a una distancia x de la fuente de luz, la intensidad de la luz recibida es proporcional a 1 / x n .
- Ninguno ( n = 0 ): la intensidad de la luz recibida es la misma independientemente de la distancia entre el punto y la fuente de luz.
- Lineal ( n = 1 ): para un punto dado a una distancia x de la fuente de luz, la intensidad de la luz recibida es proporcional a 1 / x .
- Cuadrático ( n = 2 ): así es como la intensidad de la luz disminuye en realidad si la luz tiene un camino libre (es decir, no hay niebla o cualquier otra cosa en el aire que pueda absorber o dispersar la luz). Para un punto dado a una distancia x de la fuente de luz, la intensidad de la luz recibida es proporcional a 1 / x 2 .
- También se puede utilizar cualquier número de otras funciones matemáticas .
Técnicas de sombreado
Durante el sombreado, a menudo se necesita una superficie normal para el cálculo de la iluminación. Las normales se pueden calcular previamente y almacenar para cada vértice del modelo.
Sombreado plano
Aquí, la iluminación se evalúa solo una vez para cada polígono (generalmente para el primer vértice del polígono, pero a veces para el centroide de las mallas triangulares), en función de la superficie normal del polígono y en el supuesto de que todos los polígonos son planos. El color calculado se utiliza para todo el polígono, lo que hace que las esquinas se vean nítidas. Esto se usa generalmente cuando las técnicas de sombreado más avanzadas son demasiado costosas computacionalmente. Los reflejos especulares se renderizan mal con sombreado plano: si resulta que hay un componente especular grande en el vértice representativo, ese brillo se dibuja de manera uniforme en toda la cara. Si un resalte especular no cae en el punto representativo, se pierde por completo. En consecuencia, el componente de reflexión especular generalmente no se incluye en el cálculo de sombreado plano.
Sombreado suave
A diferencia del sombreado plano, donde los colores cambian de manera discontinua en los bordes de los polígonos, con el sombreado suave, el color cambia de píxel a píxel, lo que da como resultado una transición de color suave entre dos polígonos adyacentes. Por lo general, los valores se calculan primero en los vértices y se usa la interpolación bilineal para calcular los valores de píxeles entre los vértices de los polígonos. Los tipos de sombreado suave incluyen el sombreado Gouraud [4] y el sombreado Phong . [5]
Sombreado de Gouraud
- Determina la normal en cada vértice del polígono.
- Aplique un modelo de iluminación a cada vértice para calcular la intensidad de la luz desde el vértice normal.
- Interpolar las intensidades de los vértices mediante la interpolación bilineal sobre el polígono de superficie.
Problemas:
- Debido a que la iluminación se calcula solo en los vértices, las inexactitudes (especialmente de las luces especulares en triángulos grandes) pueden volverse demasiado evidentes.
- Las uniones en T con polígonos contiguos a veces pueden resultar en anomalías visuales. En general, deben evitarse las uniones en T.
Sombreado Phong
El sombreado Phong es similar al sombreado Gouraud, excepto que en lugar de interpolar las intensidades de luz, las normales se interpolan entre los vértices y la iluminación se evalúa por píxel. Por lo tanto, los reflejos especulares se calculan con mucha más precisión que en el modelo de sombreado de Gouraud.
- Calcule una N normal para cada vértice del polígono.
- Usando la interpolación bilineal, calcule un N i normal para cada píxel. (Normal tiene que volver a normalizarse cada vez).
- Aplique un modelo de iluminación a cada píxel para calcular la intensidad de la luz de N i .
Sombreado diferido
El sombreado diferido es una técnica de sombreado mediante la cual el cálculo del sombreado se pospone a una etapa posterior mediante la renderización en dos pasadas, lo que potencialmente aumenta el rendimiento al no descartar píxeles con sombreado caro. La primera pasada solo captura los parámetros de la superficie (como la profundidad, las normales y los parámetros del material), la segunda realiza el sombreado real y calcula los colores finales. [6] [7] [8] : 884
Otros enfoques
Tanto el sombreado Gouraud y Phong pueden ser implementados utilizando la interpolación bilineal . Bishop y Weimer [9] propusieron utilizar una expansión en serie de Taylor de la expresión resultante de la aplicación de un modelo de iluminación y una interpolación bilineal de las normales. Por tanto, se utilizó la interpolación polinomial de segundo grado . Este tipo de interpolación bicuadrática fue elaborado por Barrera et al., [10] donde se utilizó un polinomio de segundo orden para interpolar la luz difusa del modelo de reflexión Phong y otro polinomio de segundo orden se utilizó para la luz especular.
La interpolación lineal esférica ( Slerp ) fue utilizada por Kuij y Blake [11] para calcular tanto la normal sobre el polígono como el vector en la dirección a la fuente de luz. Hast propuso un enfoque similar, [12] que utiliza la interpolación de cuaterniones de las normales con la ventaja de que la normal siempre tendrá una unidad de longitud y se evita la normalización computacionalmente pesada.
Sombreado liso o plano
Departamento | Liso |
---|---|
Usa el mismo color para cada píxel de una cara, generalmente el color del primer vértice | El sombreado suave utiliza la interpolación lineal de colores o normales entre vértices |
Los bordes aparecen más pronunciados que en un objeto real porque, en realidad, casi todos los bordes son algo redondos. | Los bordes desaparecen con esta técnica |
Mismo color para cualquier punto del rostro | Cada punto de la cara tiene su propio color. |
Se visualizan caras individuales | Visualice la superficie subyacente |
No apto para objetos lisos | Adecuado para cualquier objeto |
Menos costoso computacionalmente | Más caro computacionalmente |
Visión por computador
En la visión por computadora , algunos métodos para la reconstrucción 3D se basan en el sombreado o forma a partir del sombreado . Basado en el sombreado de una imagen, se puede reconstruir un modelo tridimensional a partir de una sola fotografía. [13]
Ver también
- Shader
- Lista de algoritmos de sombreado comunes
- Lista de técnicas artísticas
- Rayas de cebra para visualizar la curvatura
- Reflectancia lambertiana
Referencias
- ^ "Gráficos: Sombreado" . hexianghu.com . Consultado el 10 de septiembre de 2019 .
- ^ "Técnicas de dibujo" . Dibujar con confianza. Archivado desde el original el 24 de noviembre de 2012 . Consultado el 19 de septiembre de 2012 .
- ^ "Tutorial de sombreado, cómo sombrear en el dibujo" . Dueysdrawings.com. 2007-06-21 . Consultado el 11 de febrero de 2012 .
- ^ Gouraud, Henri (1971). "Sombreado continuo de superficies curvas". Transacciones IEEE en computadoras . C-20 (6): 623–629. doi : 10.1109 / TC.1971.223313 .
- ^ BT Phong, Iluminación para imágenes generadas por computadora , Comunicaciones de ACM 18 (1975), no. 6, 311–317. ( PDF )
- ^ "Renderizado hacia adelante vs. Renderizado diferido" .
- ^ "LearnOpenGL - Sombreado diferido" .
- ^ Akenine-Möller, Tomas; Haines, Eric; Hoffman, Naty (2018). Renderizado en tiempo real (Cuarta ed.). ISBN 978-1-1386-2700-0.
- ^ Gary Bishop y David M. Weimer. 1986. Sombreado rápido de Phong. Computación SIGGRAPH. Gráfico . 20, 4 (agosto de 1986), 103-106.
- ^ T. Barrera, A. Hast, E. Bengtsson. Sombreado rápido por software de calidad cercana a Phong . WSCG'06 , págs. 109-116. 2006
- ^ Kuijk, AAM y EH Blake, sombreado Phong más rápido mediante interpolación angular . Computer Graphics Forum 8 (4): 315–324. 1989 ( PDF )
- ^ A. Hast. Sombreado por interpolación de cuaterniones . WSCG'05 . págs. 53–56. 2005.
- ^ Horn, Berthold KP " Forma a partir del sombreado: método para obtener la forma de un objeto opaco liso a partir de una vista ". (1970). ( PDF )
Otras lecturas
- Introducción al sombreado.