stringtranslate.com

Transparencia independiente del pedido

La transparencia independiente del orden (OIT) es una clase de técnicas en gráficos por computadora rasterizados para representar transparencia en una escena 3D, que no requieren representar la geometría en orden para la composición alfa .

Descripción

Por lo general, la geometría 3D con transparencia se representa combinando (usando composición alfa ) todas las superficies en un único búfer (piense en esto como un lienzo). Cada superficie ocluye el color existente y agrega algo de su propio color dependiendo de su valor alfa , una relación de transmitancia de luz . El orden en que se combinan las superficies afecta la oclusión total o la visibilidad de cada superficie. Para obtener un resultado correcto, las superficies deben fusionarse de más lejos a más cercano o de más cercano a más lejano, dependiendo de la operación de composición alfa , por encima o por debajo . El orden se puede lograr representando la geometría en orden, por ejemplo, clasificando los triángulos por profundidad, pero puede llevar una cantidad significativa de tiempo, no siempre produce una solución (en el caso de geometría que se cruza o se superpone circularmente) y la implementación es compleja. En cambio, la transparencia independiente del orden clasifica la geometría por píxel, después de la rasterización. Para obtener resultados exactos, esto requiere almacenar todos los fragmentos antes de clasificarlos y componerlos.

Historia

El A-buffer es una técnica de gráficos por computadora introducida en 1984 que almacena listas por píxel de datos de fragmentos (incluida información de micropolígonos ) en un rasterizador de software, REYES , originalmente diseñado para suavizado pero que también admite transparencia.

Más recientemente, el peeling profundo [1] en 2001 describió una técnica de OIT acelerada por hardware. Debido a las limitaciones del hardware de gráficos, la geometría de la escena tuvo que renderizarse muchas veces. Se han seguido varias técnicas para mejorar el rendimiento del pelado en profundidad, aún con la limitación de renderizado de muchas pasadas. Por ejemplo, Peeling de doble profundidad (2008). [2]

En 2009, se introdujeron dos características importantes en el hardware/controladores/API de gráficos de la GPU que permitían capturar y almacenar datos de fragmentos en una sola pasada de renderizado de la escena, algo que antes no era posible. Estas son la capacidad de escribir en la memoria de la GPU arbitraria desde sombreadores y operaciones atómicas. Con estas características se hizo posible una nueva clase de técnicas OIT que no requieren muchas pasadas de renderizado de la geometría de la escena.

ITO exacta

Exacto, a diferencia de aproximado, la OIT calcula con precisión el color final, para lo cual se deben clasificar todos los fragmentos. Para escenas de alta complejidad, la clasificación se convierte en un cuello de botella.

Un problema con la etapa de clasificación es la ocupación limitada de la memoria local , en este caso un atributo SIMT relacionado con el rendimiento y la ocultación de la latencia de operación de las GPU. La asignación de memoria hacia atrás [8] (BMA) agrupa los píxeles por su complejidad de profundidad y los clasifica en lotes para mejorar la ocupación y, por tanto, el rendimiento de los píxeles de complejidad de baja profundidad en el contexto de una escena de complejidad potencialmente alta. Se informa un aumento del rendimiento general de la OIT de hasta 3 veces.

La clasificación generalmente se realiza en una matriz local; sin embargo, el rendimiento se puede mejorar aún más haciendo uso de la jerarquía de memoria de la GPU y ordenando en registros, [9] de manera similar a una clasificación por fusión externa , especialmente en conjunto con BMA.

ITO aproximada

Las técnicas OIT aproximadas relajan la restricción de la representación exacta para proporcionar resultados más rápidos. Se puede obtener un mayor rendimiento al no tener que almacenar todos los fragmentos o ordenar solo parcialmente la geometría. Varias técnicas también comprimen o reducen los datos del fragmento. Éstas incluyen:

OIT en Hardware

Ver también

Referencias

  1. ^ Everitt, Cass (15 de mayo de 2001). "Transparencia interactiva independiente del pedido". NVIDIA . Archivado desde el original el 27 de septiembre de 2011 . Consultado el 12 de octubre de 2008 .
  2. ^ Bavoil, Louis (febrero de 2008). "Solicite transparencia independiente con pelado de doble profundidad" (PDF) . NVIDIA . Consultado el 12 de marzo de 2013 .
  3. ^ Fang Liu, Meng-Cheng Huang, Xue-Hui Liu y En-Hua Wu. "Peelado en profundidad de una sola pasada mediante rasterizador CUDA", en SIGGRAPH 2009: Charlas (SIGGRAPH '09), 2009
  4. ^ Craig Peeper. "Pase de suma de prefijo para linealizar el almacenamiento en búfer A", Solicitud de patente, diciembre de 2008
  5. ^ Marilena Maule y João LD Comba y Rafael Torchelsen y Rui Bastos. "Transparencia independiente del orden optimizada para la memoria con Dynamic Fragment Buffer", en Computers & Graphics, 2014.
  6. ^ ab Pyarelal Knowles, Geoff Leach y Fabio Zambetta. "Capítulo 20: Técnicas eficientes de búfer de fragmentos en capas", OpenGL Insights, páginas 279-292, Editores Cozzi y Riccio, CRC Press, 2012
  7. ^ Jason C. Yang, Justin Hensley, Holger Grün y Nicolas Thibieroz. "Construcción de listas enlazadas simultáneas en tiempo real en la GPU", en actas de la 21ª conferencia de Eurographics sobre renderizado (EGSR'10), 2010
  8. ^ Knowles; et al. (octubre de 2013). "Asignación de memoria hacia atrás y OIT mejorada" (PDF) . Biblioteca digital Eurografía. Archivado desde el original (PDF) el 2 de marzo de 2014 . Consultado el 21 de enero de 2014 .
  9. ^ Knowles; et al. (junio de 2014). "Clasificación rápida para OIT exacta de escenas complejas" (PDF) . Springer Berlín Heidelberg . Archivado desde el original (PDF) el 9 de agosto de 2014 . Consultado el 5 de agosto de 2014 .
  10. ^ Enderton, Eric (sin fecha). "Transparencia estocástica" (PDF) . Transacciones IEEE sobre visualización y gráficos por computadora . 17 (8). NVIDIA : 1036-1047. doi :10.1109/TVCG.2010.123. PMID  20921587 . Consultado el 12 de marzo de 2013 .
  11. ^ Salvi; et al. (18 de julio de 2013). "Transparencia Adaptativa" . Consultado el 21 de enero de 2014 .
  12. ^ Davies, Leigh (18 de julio de 2013). "Aproximación de transparencia independiente del orden con sincronización de píxeles". Intel . Consultado el 21 de enero de 2014 .
  13. ^ McGuire, Morgan; Bavoil, Louis (2013). "Transparencia ponderada independiente del pedido combinado". Revista de técnicas de infografía . 2 (2): 122-141.
  14. ^ "Optimización del rendimiento de Dreamcast Microsoft Direct3D". Microsoft . 1999-03-01.