DirectX Raytracing

DirectX Raytracing (DXR) es una función introducida en DirectX 12 de Microsoft que implementa el trazado de rayos para la representación de gráficos de video. DXR se lanzó con la actualización de octubre de Windows 10 (versión 1809) el 10 de octubre de 2018. Requiere una tarjeta de video de la serie AMD Radeon RX 6000 o Nvidia GeForce 10, 20, 30 o 40, que está diseñada para manejar la alta carga informática utilizada para el trazado de rayos.

Adiciones a DirectX 12 editar

 

Con la introducción de DXR en octubre, se agregaron cuatro nuevas características a DirectX 12:[1]

  1. La estructura de aceleración es una representación del entorno 3D que está formateada de manera eficiente para la GPU. Este entorno es el plano que se utiliza para crear los puntos de partida. La estructura permite realizar modificaciones y tiene un recorrido de rayos optimizado.
  2. La lista de comandos DispatchRays es el comienzo de los rayos que se utilizan para generar los gráficos de reflexión. Estos son utilizados por la GPU para comenzar el proceso de trazado de rayos.
  3. Los nuevos sombreadores HLSL, la generación de rayos, el acierto más cercano, cualquier acierto y error, que se utilizan describen computacionalmente lo que hace DXR al renderizar el trazado de rayos. Estos sombreadores utilizan la función TraceRay en HLSL para rastrear rayos en el entorno. Cuando el rayo interactúa con el plano generado, puede llamar a uno de los muchos sombreadores seleccionados de acertar o fallar. La variación de shaders impredecibles crea diferentes texturas.
  4. Raytracing pipeline state, una contraparte de los objetos de estado de la tubería Graphics and Compute actuales. Los objetos de estado de canalización son configuraciones de hardware que determinan cómo la GPU interpreta y procesa la información.[2]

Detalles técnicos editar

 
Ejemplo de una escena renderizada usando POV-Ray, una herramienta de renderizado que usa trazado de rayos.

DXR comienza enviando un rayo desde cada píxel en un plano dado y calcula qué objetos en el plano son golpeados primero por el rayo. Luego, el algoritmo DXR estima la cantidad de luz donde el rayo se cruza con el objeto y adjunta ese cálculo al objeto. Los objetos pueden tener diferentes propiedades que absorberán o reflejarán la luz a diferentes velocidades. Para evitar que ocurran rebotes infinitos de un rayo, DXR detendrá los cálculos después de una cierta cantidad de intersecciones. Los rayos que nunca interactúan con un objeto se rastrean hasta dónde han llegado. Esto es para que el algoritmo entienda cuándo los rayos han ido demasiado lejos.[1]

Actualizaciones editar

DXR se lanzó al público el 10 de octubre de 2018 con la actualización de octubre de Windows 10 (versión 1809).[3]

La primera actualización importante de DXR se realizó el 27 de mayo de 2020 con la actualización de mayo de Windows 10 (versión 2004). La actualización de mayo implementó DXR Tier 1.1, que permite que los motores de juegos realicen cálculos en tiempo real, lo que hace que los gráficos de trazado de rayos sean más rápidos y eficientes.[4][5]

Referencias editar

  1. a b «Announcing Microsoft DirectX Raytracing!». DirectX Developer Blog. 19 de marzo de 2018. Consultado el 27 de octubre de 2020. 
  2. stevewhims. «Managing Graphics Pipeline State in Direct3D 12 - Win32 apps». docs.microsoft.com. Consultado el 16 de noviembre de 2020. 
  3. «DirectX Raytracing and the Windows 10 October 2018 Update». DirectX Developer Blog. 2 de octubre de 2018. Consultado el 27 de octubre de 2020. 
  4. «Windows 10 May 2020 v2004 20H1 Feature Update Packs DirectX 12 Ultimate, Improved Ray Tracing Support, DirectX Mesh Shader And Many Other Features For PC Gaming». Appuals.com. 12 de mayo de 2020. Archivado desde el original el 30 de octubre de 2020. Consultado el 27 de octubre de 2020. 
  5. «DirectX Raytracing (DXR) Tier 1.1». DirectX Developer Blog. 6 de noviembre de 2019. Consultado el 27 de octubre de 2020. 

Enlaces externos editar