Boletín de Realidad Virtual DVRV 2021-005

 Reporte de revisión de técnicas de renderizado por GPU contemporáneas

Fecha liberación: 

12/11/2021

Fuente: 

Adobe Inc. (2021, 3 agosto). Substance 3D Documentation – Substance 3D Stager. Substance 3D Stager. Recuperado 5 de noviembre de 2021, de https://substance3d.adobe.com/documentation/sg

Autodesk Inc. [Autodesk]. (2020, 25 marzo). 3ds Max 2021 Rendering and Viewport Features [Vídeo]. YouTube. https://www.youtube.com/watch?v=kDtz_lpWi4g

Autodesk Inc. (2021a, mayo 27). GPU Raytracing. VRED Products 2021 | Autodesk Knowledge Network. Recuperado 10 de noviembre de 2021, de https://knowledge.autodesk.com/support/vred-products/learn-explore/caas/CloudHelp/cloudhelp/2021/ENU/VRED/files/Rendering/VRED-Rendering-GPU-Raytracing-html-html.html

Autodesk Inc. (2018, 11 diciembre). To Use ActiveShade Rendering. 3ds Max 2019 | Autodesk Knowledge Network. Recuperado 5 de noviembre de 2021, de https://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2019/ENU/3DSMax-Rendering/files/GUID-06FF191B-B740-40C8-BD6A-CE07AF380304-htm.html

Autodesk Inc. (2021, 7 octubre). NVIDIA Omniverse: Modern Collaborative Workflows [Webinar]. NVIDIA Omniverse: Modern Collaborative Workflows, San Rafael, California. https://events-platform.autodesk.com/event/autodesk-university-2021/planning/UGxhbm5pbmdfNjcwMzU4

Blender Foundation. (2019, 29 julio). Accelerating Cycles using NVIDIA RTX. Blender Developers Blog. Recuperado 5 de noviembre de 2021, de https://code.blender.org/2019/07/accelerating-cycles-using-nvidia-rtx/

Chaos Software OOD. (2021a, febrero 6). Getting Started – Chaos Vantage – Chaos Help. Getting Started – Chaos Vantage – Chaos Help. Recuperado 12 de noviembre de 2021, de https://docs.chaos.com/display/LAV/Getting+Started

Chaos Software OOD. (2021b, marzo 31). Live Webinar: Real-time with Chaos Vantage | Chaos. MX 2 Real-Time with Chaos Vantage Webinar. Recuperado 12 de noviembre de 2021, de https://www.chaosgroup.com/vantage/webinar-march-2021

Epic Games, Inc. (s. f.). Path Tracer. Unreal Engine Documentation. Recuperado 8 de noviembre de 2021, de https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/RayTracing/PathTracer/

Epic Games, Inc. (s. f.-a). Ray Tracing Features Settings. Unreal Engine Documentation. Recuperado 8 de noviembre de 2021, de https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/RayTracing/RayTracingSettings/

Epic Games, Inc. (s. f.). Real-Time Ray Tracing. Unreal Engine Documentation. Recuperado 8 de noviembre de 2021, de https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/RayTracing/

Epic Inc. (2021, 4 noviembre). Path Tracer Requirements. Oficial Twinmotion Documentation. Recuperado 5 de noviembre de 2021, de https://twinmotionhelp.epicgames.com/s/article/Path-Tracer-Requirements?language=en_US

Michigan State University. (s. f.). Current Gen 3D Game Prop Production. Coursera. Recuperado 3 de noviembre de 2021, de https://es.coursera.org/learn/3d-game-prop-production

NVIDIA. (2021, 8 noviembre). RTX Render Settings — Omniverse View documentation. RTX Render Settings. Recuperado 8 de noviembre de 2021, de https://docs.omniverse.nvidia.com/app_view/prod_materials-and-rendering/rtx_render-settings.html

Unity Technologies. (2020). Getting started with ray tracing | High Definition RP | 7.1.8. Documentación oficial UNITY. Recuperado 8 de noviembre de 2021, de https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@7.1/manual/Ray-Tracing-Getting-Started.html#FinalSetup

Unity Technologies. (2020b). Path tracing | High Definition RP | 7.1.8. Documentación oficial UNITY. Recuperado 8 de noviembre de 2021, de https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@7.1/manual/Ray-Tracing-Path-Tracing.html

Unity-Technologies. (2021, 19 julio). GitHub – Unity-Technologies/HDRPRayTracingScenes: This repository contains a startup DXR project. GitHub. Recuperado 8 de noviembre de 2021, de https://github.com/Unity-Technologies/HDRPRayTracingScenes

Categoría: 

Prospección de técnicas de representación tridimensional para tiempo real y render fuera de línea.

Herramientas de desarrollo asociadas:

Unreal, Unity, Marmoset Toolbag, 3DS MAX, Nvidia Omniverse, Substance 3D Painter y 3D Stager, Blender, Twinmotion, Vred, Vantage

Análisis con modelo estandarizado para PBR cómo parte de la revisión de técnicas de renderizado por GPU contemporáneas

Situación

El desarrollo tecnológico ha permitido incorporar núcleos de procesamiento gráfico especializados para Ray Tracing y Path Tracing que permiten acelerar en gran manera los procesos de representación en tiempo real, es necesaria la exploración y en su caso la incorporación de herramientas compatibles con esta tecnología para mejora del proceso de producción y visualización de contenidos gráficos.

Redacción de la solución

Se ha experimentado con las aplicaciones comerciales más comunes que incorporan el trazado de rayos (Ray Trace) y el trazado de rutas (Path Tracing) como núcleo de renderizado para tiempo real (VR visualización en tiempo real) y render fuera de línea.

Se encontró que muchas de las aplicaciones verificadas cuentan con la opción de aprovechar la aceleración gráfica y el cálculo de Ray Tracing y Path Tracing considerando la aplicación Stager cómo la de mejor calidad para render fuera de línea.

Cuales existen

La tecnología de aceleración por GPU para procesamiento de imágenes ha tenido una evolución constante en industrias como la animación por computadora, la visualización y las aplicaciones para tiempo real, si consideramos que los estándares actuales de la industria incorporan la aceleración grafica a través de trazado de rayos y trazado de rutas entonces los siguientes softwares son los que podrías ocupar.

Motor de juegos

Visualizador

Creación de contenido

Unreal Engine [Path Tracing, Ray Tracing]

Unity [Ray Tracing, Path Tracing]

Marmoset Toolbag [Ray Tracing]

Twinmotion [Path tracing]

Substance 3D Stager [Ray tracing]

Nvidia Omniverse [Path Tracing, Ray Tracing, Iray]

Vred [Ray Tracing]

3DS MAX 2022 [Ray Tracing]

Substance 3D Painter [Iray]

Blender [Ray Tracing]

Cada una de estas herramientas pone a disposición aceleración por ray tracing disponible en las aceleradoras gráficas de la familia RTX, en cada una existen diferentes configuraciones que deberán ser realizadas para que en conjunto con materiales PBR representen fielmente una superficie o un escenario.

Cómo se configuran

El proceso es simple en la mayoría de los casos, mientras se disponga de una aceleradora gráfica de la familia RTX con drivers actualizados los programas permitirán activar botones para renderizar por Ray Tracing o Path Tracing, la configuración también es simple pero el resultado en verdad mejora la calidad gráfica, con lo que su uso se recomienda ampliamente si se dispone de una aceleradora gráfica compatible.

Figura 1. Victor Franco. Activación de la opción Trazado de Rayos en Adobe Substance 3D Stager. 2021. Imagen digital.

Cuál es el resultado

El más versátil y de buena calidad es Nvidia Omniverse, pues permite renderizar con 3 procesos diferentes, tanto en tiempo real como en render fuera de línea.

Figura 2. Victor Franco. Representación en Nvidia Omniverse Create con Iray activado. 2021. Imagen digital.

En cuanto a calidades de render fuera de línea Substance 3D Stager y Marmoset Toolbag presentan la mejor solución final, considerando que su tiempo de renderizado es reducido a través de la aceleración gráfica.

Figura 3. Victor Franco. Representación en Adobe Substance 3D Stager con Ray Tracing activado. 2021. Imagen digital.

Figura 4. Victor Franco. Representación en Marmoset Toolbag con Ray Tracing activado. 2021. Imagen digital.

Facilidad de uso

Twinmotion es una aplicación muy amigable con el usuario, presenta una interfaz intuitiva que permite activar el rastreo de rutas de forma simple, solo activando un botón lo que mejora considerablemente el acabo gráfico de renders fuera de línea.

A screenshot of a car

Description automatically generated with medium confidence

Figura 5. Victor Franco. Representación en Twinmotion

con Path Tracing activado. 2021. Imagen digital.

Marmoset Toolbag es otra opción que simplifica gratamente el uso de la tecnología de trazado de rayos, basta con activarla y el motor de render en tiempo real aprovechara los núcleos de Ray Tracing de la aceleradora gráfica.

Figura 6. Victor Franco. Representación en Marmoset

Toolbag con Path Tracing activado. 2021. Imagen digital.

Substance 3D Painter y 3D Stager son parte de la suite 3D y RA de Adobe y ambos facilitan el acceso a la aceleración a través de botones y opciones de menú, en el caso de Painter hace uso de la tecnología Iray y Stager aprovecha la tecnología Ray Trace.

Figura 7. Victor Franco. Representación en Marmoset Toolbag. 2021. Imagen digital

Figura 8. Victor Franco. Representación

en 3D Stager. 2021. Imagen digital

Los motores de juego difieren de las aplicaciones de visualización pues para la integración de Path Tracing y Ray Tracing se debe modificar el estándar del engine para una versión que soporte el uso de la aceleración y cálculo de Ray Tracing y Path Tracing, pues al crear un ecosistema contenido este debe ser configurado más a profundidad, lo que requiere de mayor conocimiento para poder ejecutarlo.

Unity por su parte permite usar Ray Tracing y Path Tracing, considerando este último para versiones de representación fuera de línea debido al tiempo de cálculo que requiere para refinar la imagen. La opción de Ray Tracing si permite un desplazamiento continuo aplicable para sistemas de realidad virtual y aplicaciones interactivas 3D.

A screenshot of a video game

Description automatically generated

Figura 9. Victor Franco. Path Tracing en Unity. 2021. Imagen digital

En el caso de Path Tracing para Unreal su uso esta más enfocado al render fuera de línea para soluciones arquitectónicas o cinematográficas, pero puede ser usado en aplicaciones de producción virtual, Ray Tracing está pensado para su uso en tiempo real y es bastante efectivo en la mejora gráfica.

Figura 10. Victor Franco. Path tracing en Unreal Engine. 2021. Imagen digital

Vred permite renderizar a través del uso de Ray Tracing, para su uso solo debe activarse la opción renderizar con Ray Tracing via GPU, existe la opción de calcularlo via CPU pero esta opción es demandante para el sistema y aumenta el tiempo de respuesta a una calidad de cálculo aceptable.

Figura 11. Victor Franco. Renderización en tiempo real usando Ray Tracing en Vred. 2021. Imagen digital

3DS MAX 2022 permite el uso de aceleración gráfica con Path Tracing desde su versión 2021 lo que permite previsualización de escenas que aprovechan la tecnología de las aceleradoras RTX y que también emula el cálculo de forma reducida en aceleradoras anteriores logrando un render distribuido en GPU que permite previsualizar rápidamente antes de generar la imagen final para render fuera de línea y para tiempo real la opción High Quality permite revisar las superficies PBR de modelos.

Figura 12. Victor Franco. Representación en Viewport de 3DS MAX con High Quality. 2021. Imagen digital

Figura 13. Victor Franco. Representación en Viewport de 3DS MAX con ActiveShade. 2021. Imagen digital

Blender no se caracteriza por su facilidad de uso ni ser intuitivo para el usuario, aun así, presenta una buena calidad gráfica y si se profundiza en el manejo del software obtiene muy buenos resultados.

Figura 14. Victor Franco. Representación en Viewport de Blender con Cycles y OptiX. 2021. Imagen digital

Vantage es un programa de Chaos Group de reciente creación en el que es posible aprovechar las ventajas de Ray Tracing y que tiene live link con las aplicaciones de creación de contenido más usadas en el segmento de Arquitectura Ingeniería y Construcción o AEC por sus siglas en inglés, esta ventaja le permite a arquitectos e ingenieros ocupar rápidamente soluciones de alta calidad visual sin necesidad de exportar o crear materiales de transferencia acelerando significativamente los procesos de producción y de visualización de ideas.

En la práctica la interfaz y el manejo es similar a las aplicaciones contemporáneas de visualización de materiales PBR y BRDF en la que la iluminación basada en imágenes o la iluminación simulada trabajan en conjunto con el cálculo para Raytrace mostrando alta calidad visual final para render en tiempo real y render fuera de línea.

Figura 15. Victor Franco. Representación en Vantage usando PBR y BRDF. 2021. Imagen digital

La diferencia más significativa es el como se introducen los contenidos a Vantage, pues a diferencia de los antes explorados este depende de un live link que intercambia datos entre la aplicación de creación de contenido (3DS MAX, Maya, Sketchup, Rhino, Revit y Cinema 4D) y a través del puente formado Vantage recibe la información y configuraciones, a su vez este puente es un canal de 2 vías pues permite trasladar la configuración de Vantage a la aplicación de creación de contenido para su previsualización y configuración.

Conclusiones

En el análisis de resultados se encuentra que, aunque todos los programas analizados permiten el uso de ésta tecnología su facilidad de uso, precisión y calidad varía entre cada uno de ellos, debe considerarse que algunos permiten el uso de las 3 opciones disponibles, Path, Ray e Iray, en cada una de ellas se puede evaluar su desempeño y calidad, pero dependerá de que el programa a analizar los integre, el único de los programas analizados que integra los 3 es Nvidia Omniverse, lo que permite considerarlo el más completo en cuanto a funciones pero adolece de calidad final, en donde Stager es el principal exponente.

Dependiendo cual se la necesidad a cubrir será la herramienta recomendable, para render fuera de línea puede usarse Twinmotion, Nvidia Omniverse [Iray], Susbtance 3D Stager, 3DS MAX [Active Shade], Vantage o Marmoset Toolbag, para aplicaciones para tiempo real y realidad virtual puede usarse Nvidia Omniverse [Ray Trace], Unity en el canal de renderizado de alta definición [HDRP], Unreal Engine, 3DS MAX [High Quality], Vantage y los antes mencionado si solo se desea previsualizar el modelo con esta tecnología.

  • Mtro. Víctor Hugo Franco Serrano (vhfranco at unam dot mx)

Departamento de Visualización y Realidad Virtual

dvrv at unam dot mx

ixtli at unam dot mx

https://dvrv.unam.mx     https://ixtli.unam.mx

Tel: 56 22 88 77