Los detalles geométricos en los gráficos por computadora han aumentado exponencialmente en los últimos 30 años. Para renderizar activos de alta calidad con mayor cantidad de instancias y mayor densidad de triángulos, NVIDIA presentó RTX Mega Geometry.
RTX Mega Geometry está disponible hoy a través de NVIDIA RTX Kit , un conjunto de tecnologías de renderizado para juegos con trazado de rayos con IA, renderizar escenas con una geometría inmensa y crear personajes de juegos con imágenes fotorrealistas.
Como parte de este lanzamiento, se han puesto a disposición de todos los desarrolladores nuevos ejemplos de Vulkan. Estos ejemplos de código abierto muestran cómo se pueden usar grupos de triángulos para crear estructuras de aceleración más rápido, renderizar cantidades masivas de geometría animada, modelos de trazado de ruta con nivel de detalle (LoD) de transmisión y más. NVIDIA también está lanzando dos bibliotecas para ayudar a procesar la geometría en grupos. Para obtener más información sobre RTX Mega Geometry, consulte la documentación en GitHub . Para obtener más información sobre ejemplos individuales de Vulkan, visite cada repositorio.
Muestra: Clústeres animados
Este ejemplo presenta los clústeres y muestra cómo usar la extensión VK_NV_cluster_acceleration_structure para trazar rayos en escenas animadas masivas. Con NVIDIA RTX Mega Geometry, las estructuras de aceleración para objetos animados se pueden crear más rápido que con las API anteriores. También muestra cómo se pueden rasterizar los clústeres con VK_EXT_mesh_shader
.

Para obtener más información, consulte el repositorio de GitHub vk_animated_clusters .
Ejemplo: Estructura de aceleración de nivel superior particionada
Con frecuencia, solo cambian partes de una escena entre fotogramas. La nueva extensión VK_NV_partitioned_acceleration_structure permite que las aplicaciones reconstruyan partes de una estructura de aceleración de nivel superior (TLAS) cuando cambia parte de una escena, en lugar de toda la escena. El ejemplo de TLAS particionada muestra esta extensión mediante una simulación simple de más de 100 000 objetos físicos.

Para obtener más información, consulte el repositorio de GitHub vk_partitioned_tlas .
Ejemplo: teselación dinámica para clústeres
Este ejemplo muestra cómo usar clústeres y VK_NV_cluster_acceleration_structure para trazar la ruta de teselación dinámica con desplazamiento, lo que requiere la generación de geometría por cuadro. También puede representar el contenido usando VK_NV_mesh_shader
.

Para obtener más información, consulte el repositorio de GitHub vk_tessellated_clusters .
Ejemplo: Nivel de detalle de los clústeres
Este ejemplo muestra una técnica de LoD continua que utiliza clústeres que utilizan VK_NV_cluster_acceleration_structure para el trazado de rayos. También puede rasterizar el contenido utilizando VK_NV_mesh_shader
. Además, el ejemplo implementa un sistema de transmisión a pedido de RAM a VRAM para la geometría.

Para obtener más información, consulte el repositorio de GitHub vk_lod_clusters .
Biblioteca: Generador de clusters
nv_cluster_builder es una pequeña biblioteca genérica de agrupamiento espacial en C++, creada para agrupar mallas de triángulos para el trazado de rayos. Implementa un algoritmo similar a las técnicas de división de nodos recursivos que a veces se utilizan para crear jerarquías de volúmenes delimitadores. Si bien está limitada a divisiones alineadas con ejes, sus resultados funcionan bien para el trazado de rayos.

Para obtener más información, consulte el repositorio de GitHub nv_cluster_builder .
Biblioteca: Generador de clústeres de nivel de detalle
nv_lod_cluster_builder es una biblioteca de mallas LoD continuas que permite un control detallado de los detalles geométricos dentro de una malla, en comparación con el LoD discreto tradicional. Los grupos de triángulos se calculan previamente con cuidado diezmando la malla original de manera que se puedan combinar sin problemas en diferentes niveles de LoD. En el momento de la renderización, se puede seleccionar un subconjunto de estos grupos para proporcionar de manera adaptativa la cantidad de detalles requerida a medida que la cámara recorre la escena.

Para obtener más información, consulte el repositorio de GitHub nv_cluster_lod_builder .
Estas muestras de RTX Mega Geometry son parte del NVIDIA RTX Kit. Obtenga más información sobre las tecnologías del RTX Kit en el sitio web del NVIDIA RTX Kit hoy mismo. Haga preguntas, brinde comentarios y debata con otros desarrolladores en los foros para desarrolladores de NVIDIA sobre trazado de rayos .
Recursos relacionados
- Sesión de GTC: Desmitifique la depuración y el rendimiento de CUDA con potentes herramientas para desarrolladores
- Contenedores NGC: microservicio de renderización Omniverse
- Contenedores NGC: microservicio de renderización Omniverse
- SDK: complemento de Photoshop para herramientas de textura de NVIDIA
- Kit de desarrollo de software: RTX Remix
- SDK: vMateriales
NVIDIA Blog. C. K., P. K., P. G. y N. B. Traducido al español