Khronos publica la especificación final estándar de Vulkan RayTracing

Khronos ha publicado las especificaciones finales para Vulkan Ray Tracing, el marco de desarrollo que habilita la aceleración de funciones de trazado de rayos en este estándar de código abierto para desarrollo de videojuegos y aplicaciones 3D.

El trazado de rayos es una técnica de representación que simula de manera realista cómo los rayos de luz se cruzan e interactúan con la geometría de las escenas, los materiales y las fuentes de luz para generar imágenes fotorrealistas. Es ampliamente utilizado para renderizar películas y otras producciones de vídeo, se usa en videojuegos y está comenzando también a usarse en otro tipo de aplicaciones.

Hasta ahora, este tipo de funciones de aceleración de rayos estaba limitado a las gráficas dedicadas NVIDIA RTX (y ahora las nuevas AMD) y a las librerías DirectX 12 Ultimate. La llegada del Vulkan Ray Tracing puede abrir su uso a otro tipo de hardware, por cualquier desarrollador y para cualquier software que haga uso de imágenes 3D.

Hay que recordar que Vulkan es un conjunto de bibliotecas que implementan un estándar abierto, y proporciona acceso de bajo nivel permitiendo a los programadores exprimir al máximo el rendimiento del hardware. Unas APIs abiertas, gratuita (libre de royalties) y multiplataforma, que no ha dejado de mejorar los últimos años y que se ha convertido en la única alternativa al DirectX de Microsoft.

Vulkan Ray Tracing integra un marco coherente de trazado de rayos en la API de Vulkan, lo que permite una fusión flexible de la rasterización y la aceleración del trazado de rayos. El trazado de rayos en Vulkan está diseñado para ser independiente del hardware y, por lo tanto, puede acelerarse tanto en el cómputo de GPU existente como en los núcleos de trazado de rayos dedicados, si están disponibles.

La arquitectura general de estas librerías será familiar para los usuarios de las API de trazado de rayos existentes, lo que permitirá la portabilidad directa del contenido de trazado de rayos existente, pero este marco también presenta una nueva funcionalidad y flexibilidad en la implementación.

Vulkan Ray Tracing consta de una serie de extensiones Vulkan, SPIR-V y GLSL, algunas de las cuales son opcionales. La extensión primaria VK_KHR_ray_tracing proporciona soporte para la construcción y administración de estructuras de aceleración, etapas y tuberías de sombreado de trazado de rayos, e intrínsecos de consulta para todas las etapas de sombreador.

Otra de las extensiones importantes es VK_KHR_pipeline_library, al proporciona un conjunto de sombreadores que se pueden vincular de manera eficiente en tuberías de trazado de rayos, mientras que VK_KHR_deferred_host_operations permite que las operaciones intensivas del controlador, incluida la compilación del trazado de rayos o la construcción de la estructura de aceleración basada en la CPU, se descarguen a los grupos de subprocesos administrados por la aplicación.

Todas estas funciones ya están definidas en la versión final de las especificaciones, aunque su proceso de implementación no es automático y tiene que ser definido por cada desarrollador para cada juego o aplicación. Vulkan puede aprovechar una amplia variedad de hardware. Teóricamente, cualquier GPU podría ejecutar Vulkan RT usando núcleos de «computación de GPU» existentes, aunque el rendimiento probablemente no será el máximo posible. Para lograr esto, aprovecha tambine el hardware dedicado que incluyan los GPUs.

La gran noticia es que Vulkan se consolida como gran alternativa al monopolio de Microsoft con DirectX y en todo tipo de funciones, incluyendo el trazado de rayos que se ha convertido en una de las técnicas de representación de referencia. Khronos tiene detrás un gran número de fabricantes que lo soportan (AMD, Intel, NVIDIA, Qualcomm, Imagination, ARM…) y proveedores de motores gráficos como iDTech, Unreal, Unity, Frostbite o CryEngine. No será difícil que veamos próximamente Vulkan Ray Tracing en grandes juegos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *