stringtranslate.com

Iluminación de gráficos por computadora

La iluminación de gráficos por computadora es el conjunto de técnicas que se utilizan para simular la luz en escenas de gráficos por computadora . Si bien las técnicas de iluminación ofrecen flexibilidad en el nivel de detalle y funcionalidad disponibles, también operan en diferentes niveles de demanda computacional y complejidad . Los artistas gráficos pueden elegir entre una variedad de fuentes de luz, modelos, técnicas de sombreado y efectos para adaptarse a las necesidades de cada aplicación.

Fuentes de luz

Las fuentes de luz permiten diferentes formas de introducir luz en las escenas gráficas. [1] [2]

Punto

Las fuentes puntuales emiten luz desde un único punto en todas las direcciones, y la intensidad de la luz disminuye con la distancia. [3] Un ejemplo de una fuente puntual es una bombilla independiente. [4]

Una fuente de luz direccional que ilumina un terreno.

Direccional

Una fuente direccional (o fuente distante) ilumina uniformemente una escena desde una dirección. [4] A diferencia de una fuente puntual, la intensidad de la luz producida por una fuente direccional no cambia con la distancia a lo largo de la escala de la escena, ya que la fuente direccional se trata como si estuviera extremadamente lejos. [4] Un ejemplo de una fuente direccional es la luz solar en la Tierra. [5]

Destacar

Un foco produce un cono de luz dirigido . [6] La luz se vuelve más intensa a medida que el espectador se acerca a la fuente del foco y al centro del cono de luz. [6] Un ejemplo de foco es una linterna. [5]

Área

Las luces de área son objetos tridimensionales que emiten luz. Mientras que las luces puntuales y las luces de foco se consideran puntos infinitesimales, las luces de área se tratan como formas físicas. [7] Las luces de área producen sombras más suaves y una iluminación más realista que las luces puntuales y las luces de foco. [8]

Ambiente

Las fuentes de luz ambiental iluminan los objetos incluso cuando no hay ninguna otra fuente de luz presente. [6] La intensidad de la luz ambiental es independiente de la dirección, la distancia y otros objetos, lo que significa que el efecto es completamente uniforme en toda la escena. [6] Esta fuente garantiza que los objetos sean visibles incluso en completa oscuridad. [5]

Deformación de luz

Una deformación de luz es una técnica en la que un objeto en el mundo geométrico refracta la luz en función de la dirección y la intensidad de la luz. Luego, la luz se deforma utilizando un término difuso ambiental con un rango del espectro de colores . Luego, la luz puede dispersarse de manera reflejada para producir una mayor profundidad de campo y refractarse . La técnica se utiliza para producir un estilo de renderizado único y se puede utilizar para limitar la sobreexposición de los objetos. Juegos como Team Fortress 2 utilizan la técnica de renderizado para crear un aspecto estilizado sombreado de celuloide de dibujos animados . [9]

IDH

HDRI significa imagen de alto rango dinámico y es una imagen de 360° que envuelve un modelo 3D como un entorno exterior y utiliza el sol como fuente de luz en el cielo. Las texturas del modelo pueden reflejar la luz directa y ambiental y los colores de la HDRI. [10]

Interacciones de iluminación

En gráficos de computadora, el efecto general de una fuente de luz sobre un objeto está determinado por la combinación de las interacciones del objeto con ella, generalmente descritas por al menos tres componentes principales. [11] Los tres componentes de iluminación primarios (y los tipos de interacción subsiguientes) son difuso, ambiental y especular. [11]

Descomposición de las interacciones de iluminación

Difuso

La iluminación difusa (o reflexión difusa ) es la iluminación directa de un objeto por una cantidad uniforme de luz que interactúa con una superficie que dispersa la luz . [4] [12] Después de que la luz incide en un objeto, se refleja en función de las propiedades de la superficie del objeto, así como del ángulo de la luz entrante. [12] Esta interacción es el principal contribuyente al brillo del objeto y forma la base de su color. [13]

Ambiente

Como la luz ambiental no tiene dirección, interactúa de manera uniforme en todas las superficies, y su intensidad está determinada por la fuerza de las fuentes de luz ambiental y las propiedades de los materiales de la superficie de los objetos, es decir, sus coeficientes de reflexión ambiental . [13] [12]

De espejo

El componente de iluminación especular otorga brillo y reflejos a los objetos. [13] Esto se distingue de los efectos de espejo porque otros objetos del entorno no son visibles en estos reflejos. [12] En cambio, la iluminación especular crea puntos brillantes en los objetos en función de la intensidad del componente de iluminación especular y el coeficiente de reflexión especular de la superficie. [12]

Modelos de iluminación

Los modelos de iluminación se utilizan para replicar los efectos de iluminación en entornos renderizados donde la luz se aproxima en función de la física de la luz. [14] Sin modelos de iluminación, replicar los efectos de iluminación tal como ocurren en el mundo natural requeriría más potencia de procesamiento de la que es práctica para los gráficos de computadora. [14] El propósito de este modelo de iluminación es calcular el color de cada píxel o la cantidad de luz reflejada para diferentes superficies en la escena. [15] Hay dos modelos de iluminación principales, la iluminación orientada a objetos y la iluminación global. [16] Se diferencian en que la iluminación orientada a objetos considera cada objeto individualmente, mientras que la iluminación global mapea cómo interactúa la luz entre los objetos. [16] Actualmente, los investigadores están desarrollando técnicas de iluminación global para replicar con mayor precisión cómo la luz interactúa con su entorno. [16]

Iluminación orientada a objetos

La iluminación orientada a objetos, también conocida como iluminación local, se define mediante la asignación de una única fuente de luz a un único objeto. [17] Esta técnica es rápida de calcular, pero a menudo es una aproximación incompleta de cómo se comportaría la luz en la escena en la realidad. [17] A menudo se aproxima sumando una combinación de luz especular, difusa y ambiental de un objeto específico. [14] Los dos modelos de iluminación local predominantes son los modelos de iluminación Phong y Blinn-Phong. [18]

Modelo de iluminación de Phong

Uno de los modelos de reflexión más comunes es el modelo Phong. [14] El modelo Phong supone que la intensidad de cada píxel es la suma de la intensidad debida a la iluminación difusa, especular y ambiental. [17] Este modelo tiene en cuenta la ubicación de un espectador para determinar la luz especular utilizando el ángulo de la luz que se refleja en un objeto. [18] Se toma el coseno del ángulo y se eleva a una potencia decidida por el diseñador. [17] Con esto, el diseñador puede decidir qué tan amplio es el brillo que desea en un objeto; debido a esto, la potencia se llama valor de brillo. [18] El valor de brillo está determinado por la rugosidad de la superficie, donde un espejo tendría un valor de infinito y la superficie más rugosa podría tener un valor de uno. [17] Este modelo crea un brillo blanco de aspecto más realista basado en la perspectiva del espectador. [14]

Modelo de iluminación Blinn-Phong

El modelo de iluminación Blinn-Phong es similar al modelo Phong, ya que utiliza luz especular para crear un punto destacado en un objeto en función de su brillo. [19] El modelo Blinn-Phong difiere del modelo de iluminación Phong, ya que el modelo Blinn-Phong utiliza el vector normal a la superficie del objeto y a medio camino entre la fuente de luz y el espectador. [14] Este modelo se utiliza para tener una iluminación especular precisa y un tiempo de cálculo reducido. [14] El proceso lleva menos tiempo porque encontrar la dirección del vector de luz reflejada es un cálculo más complejo que calcular el vector normal a medio camino . [19] Si bien esto es similar al modelo Phong, produce diferentes resultados visuales y el exponente de reflexión especular o el brillo podrían necesitar una modificación para producir una reflexión especular similar. [20]

Iluminación global

La iluminación global se diferencia de la iluminación local porque calcula la luz a medida que viaja a lo largo de toda la escena. [16] Esta iluminación se basa más en la física y la óptica, con rayos de luz dispersándose, reflejándose y rebotando indefinidamente a lo largo de la escena. [21] Todavía se están realizando investigaciones activas sobre la iluminación global, ya que requiere más potencia computacional que la iluminación local. [22]

Trazado de rayos

Imagen renderizada mediante trazado de rayos

Las fuentes de luz emiten rayos que interactúan con varias superficies a través de la absorción, reflexión o refracción. [3] Un observador de la escena vería cualquier fuente de luz que llegue a sus ojos; un rayo que no llega al observador pasa desapercibido. [23] Es posible simular esto haciendo que todas las fuentes de luz emitan rayos y luego calcule cómo interactúa cada una de ellas con todos los objetos de la escena. [24] Sin embargo, este proceso es ineficiente ya que la mayoría de los rayos de luz no llegarían al observador y desperdiciarían tiempo de procesamiento. [25] El trazado de rayos resuelve este problema invirtiendo el proceso, en lugar de enviar rayos de visión desde el observador y calcular cómo interactúan hasta que llegan a una fuente de luz. [24] Aunque de esta manera se utiliza de manera más efectiva el tiempo de procesamiento y se produce una simulación de luz que imita de cerca la iluminación natural, el trazado de rayos aún tiene altos costos de cálculo debido a las altas cantidades de luz que llegan a los ojos del espectador. [26]

Radiosidad

La radiosidad tiene en cuenta la energía emitida por los objetos circundantes y la fuente de luz. [16] A diferencia del trazado de rayos, que depende de la posición y orientación del observador, la iluminación de radiosidad es independiente de la posición de la vista. [25] La radiosidad requiere más potencia computacional que el trazado de rayos, pero puede ser más útil para escenas con iluminación estática porque solo tendría que calcularse una vez. [27] Las superficies de una escena se pueden dividir en una gran cantidad de parches; cada parche irradia algo de luz y afecta a los otros parches, luego se debe resolver un gran conjunto de ecuaciones simultáneamente para obtener la radiosidad final de cada parche. [26]

Mapeo de fotones

El mapeo de fotones fue creado como un algoritmo de iluminación global de dos pasadas que es más eficiente que el trazado de rayos. [28] Es el principio básico de rastrear fotones liberados de una fuente de luz a través de una serie de etapas. [28] La primera pasada incluye los fotones que se liberan de una fuente de luz y rebotan en su primer objeto; este mapa de dónde se encuentran los fotones se registra. [22]  El mapa de fotones contiene tanto la posición como la dirección de cada fotón que rebota o es absorbido. [28] La segunda pasada ocurre con la renderización donde se calculan los reflejos para diferentes superficies. [29] En este proceso, el mapa de fotones se desacopla de la geometría de la escena, lo que significa que la renderización se puede calcular por separado. [22] Es una técnica útil porque puede simular cáusticas y no es necesario repetir los pasos de preprocesamiento si la vista o los objetos cambian. [29]

Sombreado poligonal

El sombreado poligonal es parte del proceso de rasterización donde los modelos 3D se dibujan como imágenes de píxeles 2D . [18] El sombreado aplica un modelo de iluminación, junto con los atributos geométricos del modelo 3D, para determinar cómo se debe representar la iluminación en cada fragmento (o píxel) de la imagen resultante. [18] Los polígonos del modelo 3D almacenan los valores geométricos necesarios para el proceso de sombreado. [30] Esta información incluye valores de posición de vértice y normales de superficie , pero puede contener datos opcionales, como mapas de textura y relieve . [31]

Un ejemplo de sombreado plano
Un ejemplo de sombreado Gouraud
Un ejemplo de sombreado Phong

Sombreado plano

El sombreado plano es un modelo de sombreado simple con una aplicación uniforme de iluminación y color por polígono. [32] El color y la normal de un vértice se utilizan para calcular el sombreado de todo el polígono. [18] El sombreado plano es económico, ya que la iluminación para cada polígono solo debe calcularse una vez por renderizado. [32]

Sombreado de Gouraud

El sombreado de Gouraud es un tipo de sombreado interpolado en el que los valores dentro de cada polígono son una mezcla de los valores de sus vértices. [18] A cada vértice se le asigna su propia normal que consiste en el promedio de las normales de superficie de los polígonos circundantes. [32] Luego, la iluminación y el sombreado en ese vértice se calculan utilizando la normal promedio y el modelo de iluminación elegido. [32] Este proceso se repite para todos los vértices del modelo 3D. [2] A continuación, se calcula el sombreado de los bordes entre los vértices interpolando entre los valores de los vértices. [2] Finalmente, el sombreado dentro del polígono se calcula como una interpolación de los valores de los bordes circundantes. [2] El sombreado de Gouraud genera un efecto de iluminación suave en toda la superficie del modelo 3D. [2]

Sombreado de phong

El sombreado Phong , similar al sombreado Gouraud, es otro tipo de sombreado interpolativo que combina valores de vértice para sombrear polígonos. [21] La diferencia clave entre los dos es que el sombreado Phong interpola los valores normales de vértice sobre todo el polígono antes de calcular su sombreado. [32] Esto contrasta con el sombreado Gouraud que interpola los valores de vértice ya sombreados sobre todo el polígono. [21] Una vez que el sombreado Phong ha calculado la normal de un fragmento (píxel) dentro del polígono, puede aplicar un modelo de iluminación, sombreando ese fragmento. [32] Este proceso se repite hasta que cada polígono del modelo 3D esté sombreado. [21]

Efectos de iluminación

Un material reflectante que demuestra cáusticos.

Cáusticos

Las cáusticas son un efecto de la luz reflejada y refractada en un medio con interfaces curvas o reflejada desde una superficie curva. [33] Aparecen como cintas de luz concentrada y a menudo se ven cuando se miran cuerpos de agua o vidrio. [34] Las cáusticas se pueden implementar en gráficos 3D mezclando un mapa de textura cáustica con el mapa de textura de los objetos afectados. [34] La textura cáustica puede ser una imagen estática que se anima para imitar los efectos de las cáusticas, o un cálculo en tiempo real de las cáusticas en una imagen en blanco. [34] Este último es más complicado y requiere un trazado de rayos inverso para simular los fotones que se mueven a través del entorno del render 3D. [33] En un modelo de iluminación de mapeo de fotones, el muestreo de Monte Carlo se utiliza junto con el trazado de rayos para calcular la intensidad de la luz causada por las cáusticas. [33]

Mapeo de reflexión

El mapeo de reflexión (también conocido como mapeo de entorno) es una técnica que utiliza mapas de entorno 2D para crear el efecto de reflectividad sin utilizar el trazado de rayos. [35] Dado que las apariencias de los objetos reflectantes dependen de las posiciones relativas de los espectadores, los objetos y los entornos circundantes, los algoritmos gráficos producen vectores de reflexión para determinar cómo colorear los objetos en función de estos elementos. [36] Al utilizar mapas de entorno 2D en lugar de objetos 3D completamente renderizados para representar el entorno, se pueden determinar los reflejos en los objetos utilizando algoritmos simples y computacionalmente económicos. [35]

Sistemas de partículas

Los sistemas de partículas utilizan colecciones de partículas pequeñas para modelar eventos caóticos y de alta complejidad, como fuego, líquidos en movimiento, explosiones y cabello en movimiento. [37] Las partículas que componen la animación compleja se distribuyen mediante un emisor, que otorga a cada partícula sus propiedades, como velocidad, vida útil y color. [37] Con el tiempo, estas partículas pueden moverse, cambiar de color o variar otras propiedades, según el efecto. [37] Por lo general, los sistemas de partículas incorporan aleatoriedad , como en las propiedades iniciales que el emisor otorga a cada partícula, para hacer que el efecto sea realista y no uniforme. [37] [38]

Véase también

Referencias

  1. ^ "Luz: El arte de la exposición". GarageFarm . 2020-11-11 . Consultado el 2020-11-11 .
  2. ^ abcde "Introducción a los gráficos por computadora: iluminación y sombreado". www.cs.uic.edu . Consultado el 5 de noviembre de 2019 .
  3. ^ ab "Introducción a los gráficos por computadora: iluminación y sombreado". www.cs.uic.edu . Consultado el 5 de noviembre de 2019 .
  4. ^ abcd "Iluminación en gráficos 3D". www.bcchang.com . Consultado el 5 de noviembre de 2019 .
  5. ^ abc "Entender los diferentes tipos de luz". www.pluralsight.com . Consultado el 5 de noviembre de 2019 .
  6. ^ abcd "Introducción a los gráficos por computadora: iluminación y sombreado". www.cs.uic.edu . Consultado el 5 de noviembre de 2019 .
  7. ^ Lagarde, Sebastien; de Rousiers, Charles (verano de 2014). Cómo trasladar Frostbite a la renderización basada en física 3.0. SIGGRAPH.
  8. ^ Pharr, Matt; Humphreys, Greg; Wenzel, Jakob (2016). Renderizado basado en la física: de la teoría a la implementación (3.ª ed.). Morgan Kaufmann. ISBN 978-0128006450.
  9. ^ Vergne, Romain; Pacanowski, Romain; Barla, Pascal; Granier, Xavier; Schlick, Christophe (19 de febrero de 2010). "Escalado de radiancia para mejora versátil de superficies". Actas del simposio ACM SIGGRAPH de 2010 sobre gráficos y juegos 3D interactivos . ACM. págs. 143–150. doi :10.1145/1730804.1730827. ISBN . 9781605589398. S2CID  18291692 – vía hal.inria.fr.
  10. ^ https://visao.ca/what-is-hdri/#:~:text=High%20dynamic%20range%20images%20are,look%20cartoonish%20and%20less%20professional. [ URL desnuda ]
  11. ^ ab "Iluminación en gráficos 3D". www.bcchang.com . Consultado el 5 de noviembre de 2019 .
  12. ^ abcde Pollard, Nancy (primavera de 2004). "Iluminación y sombreado" (PDF) .
  13. ^ abc "Iluminación en gráficos 3D". www.bcchang.com . Consultado el 5 de noviembre de 2019 .
  14. ^ abcdefg "LearnOpenGL - Iluminación básica". learnopengl.com . Consultado el 8 de noviembre de 2019 .
  15. ^ "Introducción a los gráficos por computadora: iluminación y sombreado". www.cs.uic.edu . Consultado el 8 de noviembre de 2019 .
  16. ^ abcde "Iluminación global" (PDF) . Clases de Georgia Tech . 2002.
  17. ^ abcdefarrell . "Iluminación local". Universidad de Kent .
  18. ^ abcdefg «Gráficos por ordenador: sombreado e iluminación». cglearn.codelight.eu . Consultado el 30 de octubre de 2019 .
  19. ^ de James F. Blinn (1977). "Modelos de reflexión de la luz para imágenes sintetizadas por computadora". Proc. 4.ª conferencia anual sobre gráficos por computadora y técnicas interactivas : 192–198. CiteSeerX 10.1.1.131.7741. doi :10.1145/563858.563893
  20. ^ Universidad de Jacob, "Modelo de reflexión Blinn-Phong", 2010.
  21. ^ abcd Li, Hao (2018). "Sombreado en OpenGL" (PDF) .
  22. ^ abc Li, Hao (otoño de 2018). "Iluminación global" (PDF).
  23. ^ "Presentación de la plataforma de trazado de rayos NVIDIA RTX". NVIDIA Developer . 2018-03-06 . Consultado el 2019-11-08 .
  24. ^ ab Reif, JH (1994). "Computabilidad y complejidad del trazado de rayos" (PDF). Geometría discreta y computacional .
  25. ^ ab Wallace, John R.; Cohen, Michael F.; Greenberg, Donald P. (1987). "Una solución de dos pasos para la ecuación de renderizado: una síntesis de métodos de trazado de rayos y radiosidad". Actas de la 14.ª Conferencia anual sobre gráficos por ordenador y técnicas interactivas . SIGGRAPH '87. Nueva York, NY, EE. UU.: ACM: 311–320. doi :10.1145/37401.37438. ISBN 9780897912273
  26. ^ ab Greenberg, Donald P. (14 de abril de 1989). "Modelos de reflexión de la luz para gráficos por ordenador". Science . 244 (4901): 166–173. Bibcode :1989Sci...244..166G. doi :10.1126/science.244.4901.166. ISSN  0036-8075. PMID  17835348. S2CID  46575183.
  27. ^ Cindy Goral, Kenneth E. Torrance, Donald P. Greenberg y B. Battaile, "Modelado de la interacción de la luz entre superficies difusas", Computer Graphics , vol. 18, n.º 3. ( PDF )
  28. ^ abc Wann Jensen, Henrik (1996). "Iluminación global mediante mapas de fotones Archivado el 8 de agosto de 2008 en Wayback Machine " (PDF). Técnicas de renderizado '96 : 21–30.
  29. ^ ab "Mapeo de fotones - Zack Waters". web.cs.wpi.edu . Consultado el 8 de noviembre de 2019 .
  30. ^ "Introducción a los gráficos por computadora, Sección 4.1 - Introducción a la iluminación". math.hws.edu .
  31. ^ "Especificación de vértices - Wiki de OpenGL" www.khronos.org . Consultado el 6 de noviembre de 2019 .
  32. ^ abcdef Foley. "Modelos de iluminación y sombreado" (PDF) .
  33. ^ abc "GPU Gems". NVIDIA Developer . Consultado el 30 de octubre de 2019 .
  34. ^ abc "Texturizado de agua cáustica con Unity 3D". www.dualheights.se . Consultado el 6 de noviembre de 2019 .
  35. ^ ab "Gráficos por computadora: mapeo del entorno". cglearn.codelight.eu . Consultado el 1 de noviembre de 2019 .
  36. ^ Shen, Han-Wei. "Mapeo del entorno" (PDF) .
  37. ^ abcd Bailey, Mike. "Sistemas de partículas" (PDF) .
  38. ^ "Sistemas de partículas". web.cs.wpi.edu . Consultado el 1 de noviembre de 2019 .