New-Gen Engine: Nueva generación de motor gráfico que proporciona un nuevo paradigma de visualización
En la actualidad, los avances tecnológicos en el campo de los motores gráfico han sido impulsados, principalmente, por el sector de los videojuegos. Estos motores, diseñados originalmente para generar entornos visuales envolventes y realistas, han evolucionado significativamente para satisfacer las demandas cada vez más complejas de la industria del entretenimiento digital.
Sin embargo, mientras que el sector de los videojuegos ha disfrutado de una amplia gama de motores gráficos avanzados y optimizados, la oferta de motores gráficos orientados a otras industrias es mucho más limitado.
Este vacío en la disponibilidad y calidad de motores gráficos especializados ha creado un desafío para diversas industrias, como la arquitectura, la ingeniería y la simulación, las cuales requieren de soluciones específicas y adaptadas a sus necesidades particulares.
En este contexto es donde aparece nuestro proyecto de i+D+i, cuyo objetivo es seguir desarrollando un motor gráfico altamente especializado y versátil que aborde estas carencias y proporcione una solución integral y eficaz para diversas aplicaciones industriales.
New-Gen Engine: Objetivos
El objetivo principal del proyecto consiste en investigar y diseñar el concepto de una generación de motores gráficos capaz de hacer frente a las necesidades actuales de la industria y con un alto nivel de compatibilidad e interoperabilidad con las últimas disrupciones tecnológicas en materia gráfica 3D del mercado.
El resultado de esta investigación y diseño se materializará en dotar al motor de nuevas capacidades avanzadas sobre nuestro motor gráfico Evergine.
Los procesos que son necesarios para alcanzar el objetivo principal del proyecto pasan por la realización de 4 grandes bloques:
- Reformulación arquitectónica: investigar y reformular el diseño arquitectónico del motor gráfico, enfocado a una mejora en las capacidades de renderización gráfica y la introducción de nuevas capacidades disruptivas.
- Mecanismos de integración e interoperabilidad con tecnologías y dispositivos de vanguardia: incorporar y permitir el aprovechamiento de las ventajas e innovaciones proporcionadas por dispositivos y recursos tecnológicos de terceros.
- Nuevos recursos y funciones de creación y gestión de activos y escenas 3D eficientes: investigar nuevos mecanismos que agilicen y amplíen las posibilidades de creación y gestión de activos y contenidos 3D, así como la mejora en la eficiencia de visualización.
- Avance en el nuevo paradigma web en motores gráficos de nueva generación: avanzar y mejorar las características de los motores gráficos en lo que al soporte en tecnologías web se refiere.
New-Gen Engine: Puntos de partida
En Plain Concepts hemos estado desarrollando nuestro propio motor gráfico desde 2013, denominado Wave Engine. El motor siguió evolucionando y mejorando, hasta que en 2021 vivió un rebranding para potenciar su lado comercial y pasó a llamarse Evergine.
Se ha posicionado como uno de los motores gráficos industriales más avanzado del mercado, y sus nuevas capacidades no paran de crecer.
Con el objetivo de seguir siendo un motor de referencia a escala industrial se plantea esta investigación que permita crear una nueva generación de Evergine, capaz de hacer frente a las necesidades actuales de la industria y con un alto nivel de compatibilidad e interoperabilidad con las últimas disrupciones tecnológicas en el estado del arte en materia gráfica 3D del mercado.
Después de analizar las principales necesidades de la industria, se han establecido varios puntos de mejora:
- Optimización del rendimiento y nuevas funcionalidades: el motor gráfico, en sus distintas partes y módulos, se encuentra compuesto por una serie de librerías y paquetes de distinto origen. Estas librerías se van actualizando, surgiendo nuevas versiones de código mejoradas, por lo que, para poder estar a la vanguardia tecnológica, es necesario evolucionar el motor para adaptarlo a estas nuevas versiones, asegurando que sea capaz de funcionar siempre con las versiones de código más reciente disponible.
- Nuevos dispositivos hardware para realidad virtual y mixta con los que integrarse: en el desarrollo de aplicaciones de VR y MR, además de un motor gráfico capaz de gestionar y crear las escenas 3D, otra de las piezas clave son los dispositivos físicos que permiten al usuario sumergirse en dicha experiencia inmersiva. Estos dispositivos de hardware de terceros también presentan su propia trayectoria de progreso tecnológico, y estamos viendo cómo van apareciendo en el mercado nuevas e impactantes capacidades. Por ello, resulta fundamental asegurar la compatibilidad e integración en el motor gráfico con los nuevos dispositivos que aparecen para poder mantenerse a la vanguardia tecnológica y poder aprovechar todos los recursos existentes para crear experiencias inmersivas lo más realistas y avanzadas posible.
- Necesidad de proporcionar nuevas herramientas para la etapa de creación 3D: la demanda de aplicaciones gráficas 3D no para de crecer, por lo que es necesario seguir avanzando en la provisión de recursos y herramientas que permitan generar y gestionar los contenidos 3D de una forma intuitiva, rápida y eficiente, además de estar al alcance de un mayor número de usuario y perfiles profesionales distintos.
- Aparición de nuevos formatos de datos complejos 3D de uso creciente en la industria: en los últimos años han aparecido nuevos formatos de datos 3D con gran potencial, como las nubes de puntos o Point Clouds. Para su visualización, se suele requerir de una cantidad sustancial de memoria GPU para visualizarse con precisión, especialmente en entornos detallados. También el Gaussian Splatting es otra tecnología de reconstrucción de escenas 3D que destaca por su rapidez y eficiencia. Sin embargo, para poder explotar todos estos nuevos recursos que ofrecen grandes ventajas en la industria, es necesario disponer de motores gráficos capaces de soportar estos formatos.
- Necesidad de avanzar en la capacidad de funcionamiento en tecnología web: una de las características más deseadas y con mayor potencial es que un motor gráfico pueda ser ejecutado directamente desde un navegador web. Sin embargo, aún hay mucho camino por recorrer para poder llegar a una instauración y funcionalidad completa de lo que implica este nuevo paradigma web. Por ello, se debe adaptar la estructura del motor a las últimas tecnologías web que van apareciendo.
Características principales
La ejecución del proyecto supondrá la obtención de un nuevo motor gráfico de nueva generación, el cual estará caracterizado por la incorporación de un conjunto de novedades en cuanto a características técnicas y funcionales que se identificaron como necesidades de mejora y/o ampliación a partir del análisis del producto precedente.
Algunas de las novedades son:
- Soporte a .NET 8: la última Release de Evergine ya incluye una migración completa a .NET 8, lo que supone una evolución significativa en términos de rendimiento y eficiencia para el desarrollo de aplicaciones gráficas 3D. Con esto, nuestro motor gráfico se posiciona como el primero en soportar nativamente .NET 8.
- Nueva arquitectura de Render Pipeline: esta característica técnica supone una transformación fundamental en la forma en que se abordan los desafíos de renderizado dentro del motor gráfico, evolucionando hacia una arquitectura más simple y versátil, y ofrece una visualización 3D con un nivel de detalle y precisión sin precedentes.
- Nuevos módulos de Render Pipeline para visualización de formatos 3D avanzados: la implementación de estos nuevos módulos representará un avance significativo en la capacidad de renderizar grandes volúmenes de datos 3D. En caso del Point Cloud, la innovación radicará en el desarrollo de un render progresivo basado en compute shaders y reproyección, lo que nos permitiría representar escenas de hasta 600 millones de puntos en un solo segundo. En lo que a Gaussian Splatting se refiere, constituirá una iniciativa revolucionaria destinada a superar los desafíos presentes en las técnicas de visualización 3D actuales.
- Nuevas experiencias inmersivas de VR y XR a través de dispositivos hardware disruptivos: la integración en el soporte en el motor gráfico para nuevos dispositivos hardware de experiencias inmersivas es fundamental para permitir a los usuarios interactuar con el entorno físico alrededor de ellos mientras están inmersos en una experiencia digital. Esto representa un compromiso con la interoperabilidad y la vanguardia tecnológica, asegurando que las aplicaciones desarrolladas en el motor puedan beneficiarse de las últimas innovaciones en el campo de la realidad extendida (XR).
- Integración con APIs de distintos sistemas operativos: esta característica es fundamental para poder maximizar el rendimiento de aplicaciones desarrolladas para los dispositivos anteriores, aprovechando todo su potencial.
- Avance en el nuevo paradigma web en motores gráficos mediante WebGPU: la introducción de un nuevo backend gráfico para WebGPU Native en el nuevo diseño del motor representa una evolución significativa en el desarrollo de aplicaciones web y gráficas. Ofrece un notable incremento en su capacidad para gestionar tareas de renderizado 3D y permite también el acceso a la GPU para computación genérica.
Ya estamos asistiendo a la consecución de los primeros resultados que están siendo muy satisfactorios e innovadores, como haber conseguido el primero motor gráfico en soportar nativamente .NET 8, la optimización en el flujo de trabajo de desarrollo o nuevas posibilidades en la creación de contenidos 3D, entre otros. ¡Muy pronto os compartiremos los nuevos avances conseguidos con el proyecto!
Financiado por la Unión Europea – NextGenerationEU