OptiX | |
---|---|
| |
Tipo de | motor gráfico |
Desarrollador | nVidia |
Fecha de anuncio | 6 de agosto de 2009 |
Fecha de lanzamiento | 5 de noviembre de 2009 |
plataforma de hardware | Computadora compatible con IBM PC con ciertas tarjetas gráficas |
SO compatible | Microsoft Windows , Linux , mac OS |
Escrito en lenguaje | C++ y C |
Licencia | propietario , uso y licencia del motor de forma gratuita ( freeware ) |
ultima versión | 7.0.0 / 30 de julio de 2019 |
desarrollador.nvidia.com/opt… |
OptiX ( nVidia OptiX ) es un motor gráfico de trazado de rayos que utiliza la tecnología CUDA de nVidia . El trazado de rayos se puede utilizar como método para analizar e investigar sistemas geométricos mediante el cálculo de la propagación de ondas o partículas.
El motor nVIDIA OptiX es parte de un conjunto de módulos para desarrolladores que, además de OptiX, incluye otros módulos como SceniX y CompleX . Todos ellos están integrados en aplicaciones de terceros [1] [2] .
nVidia OptiX es una herramienta de software que implementa el renderizado de trazado de rayos en tiempo real utilizando GPU nVidia . OptiX utiliza la tecnología CUDA para realizar cálculos en las GPU. Aunque la característica principal de OptiX es el trazado de rayos, también se admite la rasterización clásica . Entonces OptiX es un renderizador híbrido. Aunque OptiX es un motor gráfico, se puede utilizar para computación no gráfica. El alcance de OptiX son todas las tareas computacionalmente intensivas a las que se puede aplicar el trazado de rayos (aquí, "trazado de rayos" no significa el trazado de rayos en relación con los gráficos por computadora, sino el trazado de rayos como un método para analizar y estudiar sistemas geométricos mediante el cálculo de la propagación de ondas o partículas, véase ] 4[[3])física(Trazado
OptiX proporciona una canalización de trazado de rayos programable utilizando el lenguaje de programación C [2] , con restricciones impuestas. OptiX está posicionado por los desarrolladores como un motor muy flexible que puede configurarse en detalle y adaptarse a tareas específicas. Los usuarios de OptiX, desarrolladores de aplicaciones, pueden acelerar las tareas de trazado de rayos que necesitan. La flexibilidad de OptiX comienza en la abstracción de la ejecución y termina con haces individuales, lo que simplifica enormemente los cálculos para un haz por unidad de tiempo. Los datos que transporta y recopila el haz son totalmente personalizables. Los datos alimentados a OptiX también son programables, lo que permite sombreadores programables para nuevas técnicas, intersecciones programables para tipos de superficie de procedimiento y cámaras virtuales programables para el potencial de composición [5] .
OptiX contiene características tan críticas como el paralelismo (tanto dentro de la GPU como entre la GPU y la CPU ), el uso de estructuras de datos como árboles de k-dimensionales y la jerarquía de volumen límite , así como varios algoritmos de derivación. La utilización de la GPU se controla a través del módulo de equilibrio de carga incorporado de OptiX. Debido a que OptiX es un renderizador híbrido, brinda soporte para API de gráficos como OpenGL , lo que le permite combinar técnicas de trazado de rayos y renderizado rasterizado para mayor flexibilidad [5] [6] .
OptiX versión 1 requiere tarjetas gráficas profesionales de la familia nVidia Quadro FX o nVidia Tesla . OptiX versión 2 tiene soporte para la arquitectura nVidia Fermi , por lo que puede ejecutarse en tarjetas de video que tengan instalada la GPU GF100. Además, no solo se admiten tarjetas de video profesionales, sino también modelos GeForce personalizados, como GeForce 480 y GeForce 470. Otra innovación de OptiX 2 es la compatibilidad con tarjetas de video GeForce 200 series (GT200) personalizadas . Sin embargo, cuando se utiliza la serie GT200, se requiere una GeForce GTX 260 o superior [7] [8] .
La lista completa de GPU compatibles con el motor OptiX 2 [8] :
Además de las tarjetas de video con ciertas GPU, se requiere una CPU compatible con x86 [8] .
OptiX requiere la versión v.190 de NVIDIA Unified Graphics Driver o posterior. GT200 requiere CUDA Toolkit 2.3 o posterior y GF100 requiere CUDA Toolkit 3.0 o posterior. También se requiere un compilador C/C++: para Microsoft Windows , Visual Studio 2005 o Visual Studio 2008, y para Linux , gcc 4.2 o 4.3. Además, se requiere un sistema multiplataforma para automatizar compilaciones de software a partir de la versión 2.6.3 o posterior del código fuente de CMake [8] .
El motor OptiX admite sistemas operativos de 32 y 64 bits [8] :
OptiX se puede usar en una variedad de aplicaciones: construcción de modelos fotorrealistas, diseño automotriz, diseño de instrumentos musicales y sistemas ópticos, estudios de capacitancia y radiación, análisis de colisiones y cualquier otra cosa donde se pueda usar un algoritmo de trazado de rayos . OptiX se puede utilizar en aplicaciones que utilizan el motor de escena SceniX , como RTT DeltaGen , Autodesk Showcase y Anark Media Studio [3] [4] .
nVidia publicó en su sitio web oficial una serie de ejemplos que demuestran el funcionamiento de OptiX" [15] [16] [17] :
OptiX se anunció por primera vez el 6 de agosto en la conferencia anual internacional SIGGRAPH 2009, que tuvo lugar del 3 al 7 de agosto inclusive en Nueva Orleans [18] . En SIGGRAPH 2009 se anunció el nombre del motor, su funcionalidad principal, el enfoque en determinadas tareas, características principales, etc.. Jeff Brown, director general de la división de soluciones profesionales de nVidia, comentó sobre el anuncio de OptiX: “El mundo de la informática ha pasado de la informática solo en el procesador al coprocesamiento equilibrado en la CPU y la GPU. Los motores de aceleración de aplicaciones de nVidia equipan a los desarrolladores con las herramientas que necesitan para revolucionar aún más los gráficos en tiempo real y el análisis de datos complejos". Jon Peddie , fundador y presidente del think tank Jon Peddie Research , declaró en el momento del anuncio que "en un año, nVidia ha podido pasar de decir que la visualización de trazado de rayos interactivo es posible a hacerlo posible para todos" [4] [19] .
Antes de este anuncio de OptiX, el software de trazado de rayos en tiempo real de Nvidia se llamaba NVIRT (Nvidia Interactive Raytracer) [19] .
Además de OptiX, SceniX , CompleX y la versión de 64 bits de PhysX se anunciaron en SIGGRAPH 2009 . Se dijo que OptiX estaría disponible en el otoño de 2009 y se ejecutaría en nVidia Quadro [2] [4] tarjetas gráficas profesionales (tarjetas de video) .
A fines de agosto de 2009, nVidia publicó ejemplos del uso del motor OptiX en su sitio web. Se han publicado tres ejemplos: Whitted (demostración de refracciones, reflejos y objetos transparentes), Cook (demostración de profundidad de campo y desenfoque de movimiento ) y Julia (objetos de procedimiento y cálculo de oclusión ambiental ) [15] [16] [17] .
El 5 de noviembre de 2009, como se prometió en SIGGRAPH 2009, nVidia lanzó OptiX. OptiX se ha lanzado al público como OptiX SDK . Junto con el lanzamiento, se anunció que el motor se ejecutará en las series de tarjetas gráficas profesionales Quadro FX y nVidia Tesla , así como en la serie de tarjetas gráficas personalizadas GeForce 200 [6] [20] [21] .
El 22 de enero de 2010, nVidia lanzó la primera versión beta de OptiX 2, cuya característica principal es su procesamiento para la arquitectura de GPU nVidia Fermi . Además, en esta versión, el motor puede funcionar no solo en tarjetas de video profesionales Quadro y Tesla, sino también en tarjetas de video GeForce personalizadas [7] .
El 13 de marzo de 2010, se lanzó la tercera versión beta de OptiX 2, que agregó soporte preliminar para las primeras tarjetas de video basadas en Fermi e interacción a nivel de textura y búfer con Direct3D [22] .
El 29 de julio de 2010, nVidia presentó nuevas tarjetas gráficas y GPU profesionales de la línea Quadro basadas en la arquitectura Fermi . Una característica de estas tarjetas de video es el soporte extendido para motores de aceleración de aplicaciones ( Application Acceleration Engine-AX ), uno de los cuales es OptiX . Se afirmó que la GPU Quadro 6000 aumentará el rendimiento en AX hasta cinco veces en comparación con los modelos de la generación anterior de esta línea. “Quadro ha sido la elección número 1 de profesionales en todo el mundo durante más de una década. También hemos creado motores como AX para impulsar el desarrollo de aplicaciones de próxima generación”, dijo Jeff Brown, director de soluciones profesionales de nVidia, sobre el anuncio [23] . El mismo día, como parte de SIGGRAPH 2010, se anunció el lanzamiento de nuevas versiones de motores de aceleración de aplicaciones. Se lanzó una versión estable de OptiX 2 que, en comparación con las anteriores, se optimizó para ejecutarse en las nuevas GPU Quadro y también recibió compatibilidad con Direct3D y la capacidad de trabajar rápidamente en Direct3D y OpenGL para una composición flexible y renderizado híbrido [24] [ 25] . Además, en SIGGRAPH 2010, los empleados de nVidia realizaron una presentación "OptiX: un motor de trazado de rayos de uso general" como parte de la sesión de "representación GPU" [26] [27] .
nvidia | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
GPU ( comparación ) _ |
| ||||||||||
Conjuntos de chips de placa base ( comparación ) _ |
| ||||||||||
Otro |
|