Articulo de referencia

oclusión ambiental

El mapa de oclusión ambiental (imagen central) para esta escena oscurece únicamente los ángulos más internos de las esquinas. En gráficos , modelado y animación 3D por computado...

El mapa de oclusión ambiental (imagen central) para esta escena oscurece únicamente los ángulos más internos de las esquinas.

En gráficos , modelado y animación 3D por computadora , la oclusión ambiental es una técnica de sombreado y renderizado que se utiliza para calcular la exposición de cada punto de una escena a la luz ambiental . Por ejemplo, el interior de un tubo suele estar más ocluido (y por lo tanto más oscuro) que las superficies exteriores expuestas, y se vuelve más oscuro a medida que uno se adentra en el tubo.

La oclusión ambiental puede considerarse un valor de accesibilidad que se calcula para cada punto de la superficie. [ 1 ] En escenas con cielo abierto, esto se realiza estimando la cantidad de cielo visible para cada punto, mientras que en entornos interiores solo se tienen en cuenta los objetos dentro de un cierto radio y se asume que las paredes son el origen de la luz ambiental. El resultado es un efecto de sombreado difuso y no direccional que no proyecta sombras definidas, pero que oscurece las áreas cerradas y protegidas y puede afectar el tono general de la imagen renderizada. A menudo se utiliza como efecto de posprocesamiento .

A diferencia de los métodos locales como el sombreado Phong , la oclusión ambiental es un método global, lo que significa que la iluminación en cada punto depende de la geometría de la escena. Sin embargo, es una aproximación muy rudimentaria a la iluminación global completa . El aspecto que se logra solo con la oclusión ambiental es similar al que tendría un objeto en un día nublado .

El primer método que permitió simular la oclusión ambiental en tiempo real fue desarrollado por el departamento de investigación y desarrollo de Crytek ( CryEngine 2 ). [ 2 ] Con el lanzamiento de hardware capaz de realizar trazado de rayos en tiempo real ( serie GeForce 20 ) por parte de Nvidia en 2018, la oclusión ambiental con trazado de rayos (RTAO) se hizo posible en juegos y otras aplicaciones en tiempo real. [ 3 ] Esta característica se añadió a Unreal Engine con la versión 4.22. [ 4 ]

Implementación

Animación 3D de oclusión ambiental habilitada en la animación de la derecha.

En ausencia de oclusión ambiental con trazado de rayos asistido por hardware, las aplicaciones en tiempo real , como los videojuegos, pueden utilizar técnicas de oclusión ambiental en el espacio de la pantalla (SSAO), como la oclusión ambiental basada en el horizonte, incluyendo HBAO y la oclusión ambiental de verdad fundamental (GTAO), como una aproximación más rápida de la verdadera oclusión ambiental, utilizando la profundidad por píxel , en lugar de la geometría de la escena, para formar un mapa de oclusión ambiental .

La oclusión ambiental está relacionada con el sombreado de accesibilidad, que determina la apariencia según la facilidad con la que una superficie puede ser tocada por diversos elementos (por ejemplo, suciedad, luz, etc.). Se ha popularizado en la animación de producción debido a su relativa simplicidad y eficiencia.

El modelo de sombreado de oclusión ambiental ofrece una mejor percepción de la forma 3D de los objetos mostrados. Esto se demostró en un artículo donde los autores informan los resultados de experimentos perceptivos que muestran que la discriminación de profundidad bajo iluminación ambiental difusa es superior a la predicha por un modelo de iluminación directa. [ 5 ]

La oclusiónApag¯{\displaystyle A_{\bar {p}}}en un puntopag¯{\displaystyle {\bar {p}}}sobre una superficie con normalnorte^{\displaystyle {\hat {n}}}se puede calcular integrando la función de visibilidad sobre el hemisferio.Ω{\displaystyle \Omega }con respecto al ángulo sólido proyectado:

Apag¯=1πΩVpag¯,ω^(norte^ω^)dω{\displaystyle A_{\bar {p}}={\frac {1}{\pi }}\int _{\Omega }V_{{\bar {p}},{\hat {\omega }}}({\hat {n}}\cdot {\hat {\omega }})\,\operatorname {d} \omega }

dóndeVpag¯,ω^{\displaystyle V_{{\bar {p}},{\sombrero {\omega }}}}es la función de visibilidad enpag¯{\displaystyle {\bar {p}}}, definido como cero sipag¯{\displaystyle {\bar {p}}}está ocluido en la direcciónω^{\displaystyle {\sombrero {\omega }}}y otra de otra manera, ydω{\displaystyle \operatorname {d} \omega }es el paso infinitesimal del ángulo sólido de la variable de integraciónω^{\displaystyle {\sombrero {\omega }}}En la práctica se utilizan diversas técnicas para aproximar esta integral: quizás la forma más sencilla sea utilizar el método de Monte Carlo trazando rayos desde el puntopag¯{\displaystyle {\bar {p}}}y probando la intersección con otra geometría de la escena (es decir, trazado de rayos ). Otro enfoque (más adecuado para la aceleración por hardware) es renderizar la vista desdepag¯{\displaystyle {\bar {p}}}Mediante la rasterización de geometría negra sobre un fondo blanco y el cálculo del promedio (ponderado por coseno) de los fragmentos rasterizados. Este enfoque es un ejemplo de un método de "recopilación" o "de adentro hacia afuera", mientras que otros algoritmos (como la oclusión ambiental con mapas de profundidad) emplean técnicas de "dispersión" o "de afuera hacia adentro".

Además del valor de oclusión ambiental, un vector "normal curvado"norte^b{\displaystyle {\sombrero {n}}_{b}}a menudo se genera, que apunta en la dirección promedio de las muestras ocluidas. La normal curvada se puede utilizar para buscar la radiancia incidente de un mapa de entorno para aproximar la iluminación basada en imágenes . Sin embargo, hay algunas situaciones en las que la dirección de la normal curvada es una representación errónea de la dirección dominante de la iluminación, por ejemplo,

En este ejemplo, la normal curvada N b tiene una dirección que no le permite iluminar la escena, ya que apunta a una superficie ocluida.

En este ejemplo, la luz puede llegar al punto p solo desde los lados izquierdo o derecho, pero la normal curvada apunta al promedio de esas dos fuentes, que está directamente hacia la obstrucción.

Variantes

Reconocimiento

En 2010, Hayden Landis, Ken McGaugh y Hilmar Koch recibieron un Premio Científico y Técnico de la Academia por su trabajo en la representación de oclusión ambiental. [ 7 ]

Véase también

Referencias

  1. Miller, Gavin (1994). "Algoritmos eficientes para el sombreado de accesibilidad local y global". Actas de la 21.ª conferencia anual sobre gráficos por computadora y técnicas interactivas . págs. 319–326 . 
  2. "OCLUSIÓN AMBIENTAL: UNA GUÍA EXTENSA SOBRE SUS ALGORITMOS Y SU USO EN REALIDAD VIRTUAL" . ARVIlab . Consultado el 26 de noviembre de 2018 .
  3. Oclusión ambiental con trazado de rayos . Nvidia. Archivado del original el 12/12/2021.
  4. "Unreal Engine añade soporte para el trazado de rayos DX12" . ExtremeTech .
  5. Langer, MS; HH Buelthoff (2000). "Discriminación de profundidad a partir del sombreado bajo iluminación difusa". Perception . 29 (6): 649– 660. CiteSeerX 10.1.1.69.6103 . doi : 10.1068/p3060 . PMID 11040949 . S2CID 11700764 .   
  6. "Estrategias prácticas en tiempo real para una oclusión indirecta precisa" (PDF) .
  7. Premios Oscar 2010: Premios Científicos y Técnicos , Alt Film Guide , 7 de enero de 2010