Los conjuntos potencialmente visibles se utilizan para acelerar el renderizado de entornos 3D. Esta es una forma de selección de oclusión , mediante la cual un conjunto candidato de polígonos potencialmente visibles se calcula previamente y luego se indexa en tiempo de ejecución para obtener rápidamente una estimación de la geometría visible. El término PVSa veces se usa para referirse a cualquier algoritmo de eliminación de oclusión (ya que, en efecto, esto es lo que calculan todos los algoritmos de oclusión), aunque en casi toda la literatura, se usa para referirse específicamente a algoritmos de eliminación de oclusión que precalculan conjuntos visibles y asocian estos conjuntos con regiones en el espacio. Para realizar esta asociación, el espacio de visión de la cámara (el conjunto de puntos desde los cuales la cámara puede representar una imagen) se subdivide típicamente en regiones (generalmente convexas) y se calcula un PVS para cada región.
Beneficios versus costo
Los beneficios de descargar visibilidad como preproceso son:
- La aplicación solo tiene que buscar el conjunto precalculado dada su posición de vista. Este conjunto puede reducirse aún más mediante la eliminación truncada . Computacionalmente, esto es mucho más barato que calcular la visibilidad basada en la oclusión en cada fotograma.
- Dentro de un marco, el tiempo es limitado. Solo 1/60 de segundo (asumiendo una frecuencia de cuadro de 60 Hz) está disponible para la determinación de la visibilidad, la preparación de la representación (asumiendo el hardware de gráficos), la inteligencia artificial, la física o cualquier otro código específico de la aplicación que se requiera. Por el contrario, el preprocesamiento fuera de línea de un conjunto potencialmente visible puede llevar tanto tiempo como sea necesario para calcular una visibilidad precisa.
Las desventajas son:
- Existen requisitos de almacenamiento adicionales para los datos de PVS.
- Los tiempos de preprocesamiento pueden ser largos o inconvenientes.
- No se puede utilizar para escenas completamente dinámicas.
- En algunos casos, el conjunto visible de una región puede ser mucho mayor que el de un punto.
Problema principal
El problema principal en el cálculo PVS se convierte entonces en: Calcular el conjunto de polígonos que pueden ser visibles desde cualquier lugar dentro de cada región de un conjunto de regiones poliédricas.
Existen varias clasificaciones de algoritmos PVS con respecto al tipo de conjunto de visibilidad que calculan. [1] [2]
Algoritmos conservadores
Estos sobrestiman la visibilidad de manera constante, de modo que no se puede omitir ningún triángulo visible. El resultado neto es que no es posible ningún error de imagen, sin embargo, es posible sobreestimar en gran medida la visibilidad, lo que conduce a una representación ineficiente (debido a la representación de la geometría invisible). El enfoque en la investigación de algoritmos conservadores es maximizar la fusión del oclusor para reducir esta sobreestimación. La lista de publicaciones sobre este tipo de algoritmo es extensa; buenas encuestas sobre este tema incluyen a Cohen-Or et al. [2] y Durand. [3]
Algoritmos agresivos
Estos subestiman la visibilidad de manera constante, de modo que no existen polígonos redundantes (invisibles) en el conjunto PVS, aunque es posible que se pierda un polígono que sea realmente visible, lo que provocará errores de imagen. El enfoque en la investigación de algoritmos agresivos es reducir el error potencial. [4] [5]
Algoritmos aproximados
Estos pueden resultar en redundancia y error de imagen. [6]
Algoritmos exactos
Estos proporcionan conjuntos de visibilidad óptimos, donde no hay errores de imagen ni redundancia. Sin embargo, son complejos de implementar y, por lo general, se ejecutan mucho más lento que otros algoritmos de visibilidad basados en PVS. Teller calculó la visibilidad exacta de una escena subdividida en celdas y portales [7] (ver también representación del portal ).
Las primeras soluciones 3D tratables generales fueron presentadas en 2002 por Nirenstein et al. [1] y Bittner. [8] Haumont y col. [9] mejorar significativamente el rendimiento de estas técnicas. Bittner y col. [10] resuelve el problema de las escenas urbanas 2.5D. Aunque no está del todo relacionado con el cálculo PVS, el trabajo sobre el Complejo de Visibilidad 3D y el Esqueleto de Visibilidad 3D de Durand [3] proporciona una excelente base teórica sobre la visibilidad analítica.
La visibilidad en 3D es inherentemente un problema de 4 dimensiones. Para abordar esto, las soluciones a menudo se realizan utilizando coordenadas de Plücker , que linealizan de manera efectiva el problema en un espacio proyectivo 5D . En última instancia, estos problemas se resuelven con geometría sólida constructiva de dimensiones superiores .
Problemas secundarios
Algunos problemas secundarios interesantes incluyen:
Variantes de implementación
- A menudo es indeseable o ineficaz calcular simplemente la visibilidad del nivel del triángulo. El hardware de gráficos prefiere que los objetos sean estáticos y permanezcan en la memoria de video. Por lo tanto, generalmente es mejor calcular la visibilidad por objeto y subdividir cualquier objeto que pueda ser demasiado grande individualmente. Esto agrega conservadurismo, pero el beneficio es una mejor utilización y compresión del hardware (dado que los datos de visibilidad ahora son por objeto, en lugar de por triángulo).
- Calcular la visibilidad de la celda o del sector también es ventajoso, ya que al determinar las regiones visibles del espacio , en lugar de los objetos visibles, es posible eliminar no solo los objetos estáticos en esas regiones, sino también los objetos dinámicos.
Referencias
- ^ a b S. Nirenstein, E. Blake y J. Gain. Eliminación de visibilidad exacta de la región , en las actas del 13º taller sobre renderizado, páginas 191–202. Asociación Eurographics, junio de 2002.
- ^ a b Cohen-Or, D .; Chrysanthou, YL; Silva, CT; Durand, F. (2003). "Una encuesta de visibilidad para aplicaciones de recorrido". Transacciones IEEE sobre visualización y gráficos por computadora . 9 (3): 412–431. CiteSeerX 10.1.1.148.4589 . doi : 10.1109 / TVCG.2003.1207447 .
- ^ a b Visibilidad 3D: estudio analítico y aplicaciones , Frédo Durand, tesis doctoral, Université Joseph Fourier, Grenoble, Francia, julio de 1999. está fuertemente relacionada con los cálculos de visibilidad exacta.
- ^ Shaun Nirenstein y Edwin Blake, Preprocesamiento de visibilidad acelerada por hardware mediante muestreo adaptativo , Técnicas de renderizado 2004: Actas del 15º Simposio de Eurographics sobre renderizado, 207-216, Norrköping, Suecia, junio de 2004.
- ^ Wonka, P .; Wimmer, M .; Zhou, K .; Maierhofer, S .; Hesina, G .; Reshetov, A. (julio de 2006). Muestreo de visibilidad guiado . Transacciones ACM en gráficos . Actas de ACM SIGGRAPH 2006. 25 . págs. 494–502. doi : 10.1145 / 1179352.1141914 . ISBN 978-1595933645.
- ^ Gotsman, C .; Sudarsky, O .; Fayman, JA (octubre de 1999). "Eliminación de oclusión optimizada mediante subdivisión de cinco dimensiones" (PDF) . Computadoras y Gráficos . 23 (5): 645–654. doi : 10.1016 / S0097-8493 (99) 00088-6 .
- ^ a b Seth Teller, Cálculos de visibilidad en entornos poliédricos densamente ocluidos (tesis doctoral, Berkeley, 1992)
- ^ Jiri Bittner. Técnicas jerárquicas para el cálculo de la visibilidad , Tesis doctoral. Departamento de Ingeniería y Ciencias de la Computación. Universidad Técnica Checa en Praga. Presentado en octubre de 2002, defendido en marzo de 2003.
- ^ Denis Haumont, Otso Mäkinen y Shaun Nirenstein (junio de 2005). Un marco de baja dimensión para consultas exactas de oclusión de polígono a polígono . Técnicas de renderizado 2005: Actas del 16º Simposio sobre renderizado de Eurographics, Konstanz, Alemania. págs. 211-222. CiteSeerX 10.1.1.66.6371 . doi : 10.2312 / EGWR / EGSR05 / 211-222 .
- ^ Jiri Bittner; Peter Wonka y Michael Wimmer (2005). "Visibilidad rápida exacta desde la región en escenas urbanas" (PDF) . En Proceedings of Eurographics Symposium on Rendering : 223–230. doi : 10.2312 / EGWR / EGSR05 / 223-230 .
- ^ D. Haumont, O. Debeir & F. Sillion (septiembre de 2003). "Generación volumétrica de celdas y portales". Foro de Gráficos . 22 (3): 303–312. CiteSeerX 10.1.1.163.6834 . doi : 10.1111 / 1467-8659.00677 .
- ^ Oliver Mattausch; Jiri Bittner; Michael Wimmer (2006). "Construcción de celda de vista adaptada basada en la visibilidad". Actas del Simposio Eurographics sobre Rendering : 195–205. CiteSeerX 10.1.1.67.6705 . doi : 10.2312 / EGWR / EGSR06 / 195-205 .
- ^ Michiel van de Panne y A. James Stewart (junio de 1999). "Técnicas de compresión efectivas para la visibilidad precalculada". Taller de Eurographics sobre renderizado : 305–316. CiteSeerX 10.1.1.116.8940 .
enlaces externos
Páginas del autor citadas (incluidas las publicaciones):
- Jiri Bittner
- Daniel Cohen-Or
- Fredo Durand
- Denis Haumont
- Shaun Nirenstein
- Seth Teller
- Peter Wonka
Otros enlaces:
- Publicaciones seleccionadas sobre visibilidad