Hardware de trazado de rayos


De Wikipedia, la enciclopedia libre
  (Redirigido desde SaarCOR )
Saltar a navegación Saltar a búsqueda
Quake Wars: Ray Traced se renderizó utilizando la placa Xeon Phi PCI 3.0 de Intel ahora cancelada .

El hardware de trazado de rayos es un hardware informático de propósito especial diseñado para acelerar los cálculos de trazado de rayos .

Introducción: trazado de rayos y rasterización

El problema de renderizar gráficos 3D se puede presentar conceptualmente como encontrar todas las intersecciones entre un conjunto de " primitivas " (típicamente triángulos o polígonos ) y un conjunto de "rayos" (típicamente uno o más por píxel). [1]

Hasta 2010, todas las placas de aceleración de gráficos típicas, llamadas unidades de procesamiento de gráficos (GPU), utilizaban algoritmos de rasterización . El algoritmo de trazado de rayos resuelve el problema de renderizado de una manera diferente. En cada paso, encuentra todas las intersecciones de un rayo con un conjunto de primitivas relevantes de la escena.

Ambos enfoques tienen sus propios beneficios e inconvenientes. La rasterización se puede realizar utilizando dispositivos basados ​​en un modelo de computación de flujo , un triángulo a la vez, y el acceso a la escena completa solo se necesita una vez. [a] El inconveniente de la rasterización es que los efectos no locales, necesarios para una simulación precisa de una escena, como los reflejos y las sombras, son difíciles; y refracciones [2] casi imposibles de calcular.

El algoritmo de trazado de rayos es inherentemente adecuado para escalar mediante la paralelización de las representaciones de rayos individuales. [3] Sin embargo, cualquier otra cosa que no sea el lanzamiento de rayos requiere la recursividad del algoritmo de trazado de rayos (y acceso aleatorio al gráfico de la escena ) para completar su análisis, [4] ya que los rayos reflejados, refractados y dispersos requieren que se vuelvan a realizar varias partes de la escena. -accedido de una manera que no es fácil de predecir. Pero puede calcular fácilmente varios tipos de efectos físicamente correctos , proporcionando una impresión mucho más realista que la rasterización. [B]

La complejidad de un algoritmo de trazado de rayos bien implementado se escala logarítmicamente; [c] esto se debe a que los objetos (triángulos y conjuntos de triángulos) se colocan en árboles BSP o estructuras similares, y solo se analizan si un rayo se cruza con el volumen delimitador de la partición del espacio binario. [5] [d]

Implementaciones

Se han creado varias implementaciones de hardware de trazado de rayos, tanto experimentales como comerciales:

  • (1996) Investigadores de la Universidad de Princeton propusieron usar DSP para construir una unidad de hardware para la aceleración del trazado de rayos, llamada "TigerSHARK". [6]
  • Hanspeter Pfister [7] e investigadores de Mitsubishi Electric Research Laboratories llevaron a cabo implementaciones de renderizado de volumen utilizando algoritmos de trazado de rayos en hardware personalizado en 1999 . [8] con el sistema basado en ASIC vg500 / VolumePro y en 2002 con FPGA por investigadores de la Universidad de Tübingen con VIZARD II [9]
  • (2002) El laboratorio de gráficos por computadora en la Universidad de Saarland dirigido por el Dr.-Ing Slusallek ha producido un prototipo de hardware de trazado de rayos que incluye el chip SaarCOR (Trazador de rayos optimizado de coherencia de Coherencia optimizado de Saarbrücken) basado en FPGA [10] [11] [12] y un procesador programable más avanzado (2005), la Unidad de procesamiento de rayos (RPU) [13]
  • (2002-2009) La empresa ART VPS (fundada en 2002 [14] ), ubicada en el Reino Unido, vendió hardware de trazado de rayos para renderizado fuera de línea. El hardware utilizó varios procesadores especializados que aceleraron las pruebas de intersección de rayos y triángulos. El software proporcionó integración con los formatos de datos de Autodesk Maya y Max , y utilizó el lenguaje de descripción de escenas de Renderman para enviar datos a los procesadores (el formato de archivo .RIB o Renderman Interface Bytestream). [15] A partir de 2010, ARTVPS ya no produce hardware de trazado de rayos, pero continúa produciendo software de renderizado. [14]
  • (2009 - 2010) Intel [16] presentó su prototipo de GPU "Larrabee" y Knights Ferry MIC en el Intel Developer Forum en 2009 con una demostración de trazado de rayos en tiempo real.
  • Siliconarts [17] desarrolló un hardware de trazado de rayos en tiempo real dedicado (2010). Se anunció RayCore (2011), que es el primer semiconductor IP de trazado de rayos en tiempo real del mundo.
  • Caustic Graphics [18] ha producido una tarjeta enchufable, la "CausticOne" (2010), que acelera la iluminación global y otros procesos de renderizado basados ​​en rayos cuando se acopla a una CPU y GPU de PC. El hardware está diseñado para organizar los rayos dispersos (normalmente producidos por problemas de iluminación global) en conjuntos más coherentes (menor dispersión espacial o angular) para su posterior procesamiento por un procesador externo. [19]
  • Imagination Technologies, después de adquirir Caustic Graphics, produjo las tarjetas enchufables R2500 y R2100 de Caustic Professional que contienen unidades de trazado de rayos (RTU) RT2. Cada RTU fue capaz de calcular hasta 50 millones de rayos incoherentes por segundo. [20]
  • Nvidia , en asociación con Microsoft DirectX , anunció la biblioteca para desarrolladores Nvidia RTX [21] en 2018, que prometía soluciones rápidas de trazado de rayos en tiempo real impulsadas por trazado de rayos acelerado por hardware (núcleos tensoriales ASIC) que se encuentran en las GPU de generación Volta . [22]
  • En octubre de 2020, AMD anunció más información sobre la "actualización" de la microarquitectura RDNA . Según la empresa, la microarquitectura RDNA 2 admite el trazado de rayos acelerado por hardware en tiempo real. [23] [24]

Notas

  1. ^ Para visualizaciones adicionales como sombras o reflejos como los producidos por una gran masa de agua plana, se requiere una pasada adicional del gráfico de escena para cada efecto.
  2. ^ Los métodos de rasterización son capaces de generar sombras realistas (incluidas las sombras producidas por objetos parcialmente transparentes) y reflejos planos fácilmente (a partir de 2010), pero no implementan fácilmente reflejos de superficies no planas (excluidas las aproximaciones que utilizan mapas normales ) o refracciones.
  3. ^ Es decir, si X es el número de triángulos, entonces el número de cálculos para completar la escena es proporcional a log (X).
  4. ^ Los mismos métodos se pueden utilizar en la rasterización; En una implementación simplista, la selección se limita a aquellas particiones BSP que se encuentran dentro del frustum de visualización mucho más grande(implementaciones más avanzadas, incluidas las que implementan la eliminación selectiva de oclusión o la escala de representación predicada mejor que linealmente para escenas complejas (especialmente con alta oclusión) (Nota en API comunes : DirectX 10 D3D10_QUERY_OCCLUSION_PREDICATE [1] , en OpenGL 3.0 HP_occlusion_query ). Con el trazado de rayos, el frustum de visualización se reemplaza por el volumen encerrado por un solo rayo (o haz de rayos).

Referencias

  1. ^ Introducción al trazado de rayos en tiempo real [ enlace muerto permanente ] Notas del curso, Curso 41, Philipp Slusallek, Peter Shirley , Bill Mark, Gordon Stoll, Ingo Wald, SIGGRAPH 2005, (presentación en powerpoint), Diapositiva 26: Comparación de rasterización frente a trazado de rayos ( Definiciones) graphics.cg.uni-saarland.de
  2. ^ Investigación de Chris Wyman: Refracciones interactivas Archivado el 2 de julio de 2010 en elDepartamento de Ciencias de la Computación de Wayback Machine en la Universidad de Iowa, www.cs.uiowa.edu
  3. ^ SaarCOR: una arquitectura de hardware para el trazado de rayos, Jörg Schmittler, Ingo Wald, Philipp Slusallek, sección 2, "Trabajo anterior"
  4. ^ SaarCOR: una arquitectura de hardware para trazado de rayos, Jörg Schmittler, Ingo Wald, Philipp Slusallek, sección 3, "El algoritmo de trazado de rayos"
  5. ^ Trazado de rayos y juegos: un año después, Daniel Pohl, 17/1/2008, a través de "PCperspective", www.pcper.com
  6. ^ Un motor de trazado de rayos acelerado por hardware Greg Humphreys, C. Scott Ananian (trabajo independiente), Departamento de Ciencias de la Computación, Universidad de Princeton, 14/5/1996, cscott.net .
  7. ^ El ASIC de fundición de rayos en tiempo real vg500 . Archivado el 20 de noviembre de 2008 en la Wayback Machine Hanspeter Pfister, MERL - A Mitsubishi Electric Research Laboratory, Cambridge MA (EE. UU.) Www.hotchips.org
  8. ^ Hanspeter Pfister, Jan Hardenbergh, Jim Knittely, Hugh Lauery, Larry Seiler (abril de 1999). "El sistema de fundición de rayos en tiempo real VolumePro" (PDF) . Mitsubishi Electric. CiteSeerX  10.1.1.69.4091 . Archivado desde el original (PDF) el 16 de junio de 2011 . Consultado el 27 de febrero de 2010 . Cite journal requiere |journal=( ayuda ) CS1 maint: usa el parámetro de los autores ( enlace )
  9. ^ VIZARD II: un sistema de representación de volumen interactivo basado en FPGA Archivado el21 de noviembre de2008 en la Wayback Machine Urs Kanus, Gregor Wetekam, Johannes Hirche, Michael Meißner, Universidad de Tübingen / Philips Research Hamburg, Graphics Hardware (2002), págs. 1-11, a través de www.doggetts.org
  10. ^ "SaarCOR - una arquitectura de hardware para el trazado de rayos" . Cite journal requiere |journal=( ayuda )
  11. ^ Schmittler, Jörg; Wald, Ingo; Slusallek, Philipp (2002). "SaarCOR: una arquitectura de hardware para el trazado de rayos" (PDF) . Hardware de gráficos . Alemania: Grupo de gráficos por computadora, Universidad de Saarland: 1–11. Archivado desde el original (PDF) el 14 de agosto de 2011 . Consultado el 22 de noviembre de 2011 .
  12. ^ Jörg Schmittler; Sven Woop; Daniel Wagner; Wolfgang J. Paul; Philipp Slusallek (2004). "Trazado de rayos en tiempo real de escenas dinámicas en un chip FPGA". Hardware de gráficos . Ciencias de la Computación, Universidad de Saarland, Alemania. CiteSeerX 10.1.1.72.2947 . 
  13. ^ Sven Woop, Jorg Schmittler, Philipp Slusallek. "RPU: una unidad de procesamiento de rayos programable para el trazado de rayos en tiempo real" (PDF) . Universidad de Saarland. Archivado desde el original (PDF) el 15 de abril de 2012 . Consultado el 22 de noviembre de 2011 . Cite journal requiere |journal=( ayuda ) CS1 maint: usa el parámetro de los autores ( enlace )
  14. ^ a b Acerca de ArtVPS www.artvps
  15. ^ TODO SOBRE ARTVPS, PURE CARDS, RENDERDRIVES y RAYBOX Archivado el 14 de abril de 2009 en la Wayback Machine Mark Segasby (Protograph Ltd), www.protograph.co.uk
  16. ^ "Demostración de gráficos IDF 2009 Larrabee de Sean Maloney - YouTube" . www.youtube.com . Consultado el 6 de enero de 2021 .
  17. ^ Sitio web de la empresa Siliconarts www.siliconarts.com
  18. ^ Sitio web de la empresa Caustic Graphics www.caustic.com
  19. ^ Reinventar el trazado de rayos 15/7/2009, entrevista de Jonathan Erickson con James McCombe de Caustic Graphics, www.drdobbs.com
  20. ^ "El futuro del trazado de rayos, revisado: el acelerador R2500 de Caustic finalmente nos mueve hacia el trazado de rayos en tiempo real | ExtremeTech" . ExtremeTech . Consultado el 5 de octubre de 2015 .
  21. ^ "Tecnología NVIDIA RTX ™" . Desarrollador NVIDIA . 2018-03-06 . Consultado el 20 de abril de 2018 .
  22. ^ Oh, Nate. "NVIDIA anuncia la tecnología RTX: Aceleración de trazado de rayos en tiempo real para GPU Volta y posteriores" . Consultado el 20 de abril de 2018 .
  23. ^ Judd, Will (28 de octubre de 2020). "AMD presenta tres tarjetas gráficas Radeon 6000 con trazado de rayos y un rendimiento superior a RTX" . Eurogamer . Consultado el 28 de octubre de 2020 .
  24. ^ "AMD anuncia las presentaciones de Ryzen" Zen 3 "y Radeon" RDNA2 "para octubre: comienza un nuevo viaje" . anandtech.com . AnandTech . 2020-09-09 . Consultado el 25 de octubre de 2020 .

Otras lecturas

  • Estado del arte en trazado de rayos interactivo Ingo Wald y Philipp Slusallek, Computer Graphics Group, Saarland University, artículo de revisión hasta el año 2001
Obtenido de " https://en.wikipedia.org/w/index.php?title=Ray-tracing_hardware&oldid=1050771311 "