Saltar al contenido principal
noviembre 30, 2020

Introduciendo WaveEngine 3.1 basado en .NET 5

Estamos muy felices de anunciar que, alineados con Microsoft, acabamos de lanzar WaveEngine 3.1 con soporte oficial para .NET 5C# 9. Así que si estás usando C# y .NET 5, ya puedes empezar a crear aplicaciones 3D basadas en  .NET 5 . Puedes descargártela desde la página de WaveEngine ya mismo y empezar hoy a hacer tus creaciones.  Nos gustaría compartir contigo nuestro viaje migrando desde .NET Core 3.1 a .NET 5, además de algunas de las nuevas funcionalidades que han sido posibles gracias a .NET 5.

Desde .NET Core 3.1 a .NET 5

Para hacer esto posible, empezamos a trabajar hace un año, cuando decidimos reescribir nuestra nuestra API de abstracción de gráficos de bajo nivel para soportar las nuevas API de gráficos Vulkan, DirectX12 y Metal. En ese momento, era un proyecto basado en .NET Framework con un editor basado en GTK# que tenía problemas de soporte de nuevas resoluciones, multipantalla o los nuevos estándares DPI. En ese momento, estábamos siguiendo todos los grandes avances en el rendimiento que Microsoft estaba haciendo en .NET Core y el futuro marco llamado .NET 5 y decidimos que teníamos que alinear nuestro motor con esto para aprovechar todas las nuevas características de rendimiento, así que empezamos a escribir un nuevo editor basado en WPF y .NET Core y cambió todas nuestras extensiones y bibliotecas a .NET Core. Esto nos llevó un año de trabajo duro, pero los resultados comparando nuestra versión anterior 2.5 y la nueva 3.1 en términos de rendimiento y uso de memoria son impresionantes, alrededor de 4-5x más rápido.

Ahora, tenemos apoyo oficial para .NET 5 y esta tecnología está lista para .NET 6, así que nos complace convertirnos en uno de los primeros motores en apoyarlo. Esta es una visión general de lo que estamos construyendo con WaveEngine 3.1 and .NET 5:

Wave Engine building

Estamos usando la pila .NET 5 en todas las plataformas donde es posible, Windows, Linux, MacOS y Web y utilizamos la pila Mono donde no es posible, pero estamos listos para .NET 6, para que, finalmente, podamos unificar esto para una sola pila .NET para todas nuestras plataformas soportadas. Una de las características más interesantes que se pueden ver en este diagrama es que WaveEngine es fácil de integrar con varias tecnologías de interfaz de usuario como WPF, Windows Forms o SDL. Si necesitas integrar un visor de gráficos 3D para la visualización de datos dentros de nuevos proyectos .NET 5, esta es una gran tecnología para hacerlo.

WASM

Otra tecnología interesante en .NET 5 es un nuevo compilador llamado «dotnet-wasm» con la capacidad de compilar código C# directamente a WASM, para ejecutarse en navegadores web. Microsoft está impulsando esta tecnología como el corazón de Blazor y podemos aprovechar esto para ejecutar WaveEngine en la plataforma web utilizando dotnet-wasm, emscripten y WebGL/WebGPU. Es algo que hemos estado soñando durante años y ahora es posible. Aquí se puede ver en acción con el proyecto Paidia:

 

(La Demo del Proyecto Paidia es un juego sencillo con un nuevo modelo inteligente artificial que se ejecuta utilizando ONNX.js y WaveEngine en el navegador).

Nuevo canal de post-procesamiento

Con la nueva versión .NET 5, también publicaremos una nueva herramienta dentro de nuestro editor autónomo para editar el canal de post-procesamiento con un editor de gráficos. Creemos que esto es algo nuevo en esta área que permitirá a los usuarios diseñar canales de post-procesamiento profesionales en sus aplicaciones. Se parece a esto:

Wave Engine postprocessing

El nuevo canal de postprocesamiento está completamente basado en Compute Shader donde es posible aplicar nuevas técnicas como LDS (Local Data Share) para mejorar el rendimiento estándar basado en Pixel Shader. Cada cuadro en el gráfico del editor es un shader de cómputo con entradas y salidas. El usuario puede escribir su shader de cómputo en nuestro editor de efectos o utilizar algunos de los incluidos en la nueva versión

Para nuestro Material Estándar, la nueva versión viene con un gráfico de procesamiento posterior estándar que los usuarios pueden editar para adaptarse a sus necesidades. El gráfico estándar viene con todas estas técnicas: TAA (antialiasing temporal), Bokeh DoF (Depth of Field), SSAO (Screen Space Ambient Occlusion), SSR (Screen Space Reflections), Camera Motion Blur, Bloom, Grain, Vignette, Color Gradient y FXAA

For our Standard Material the new version comes with a Standard Post-Processing graph that users can edit to adapt to their needs. The standard graph comes with all these techniques: TAA (temporal antialiasing), Bokeh DoF (Depth of Field), SSAO (Screen Space Ambient Occlusion), SSR (Screen Space Reflections), Camera Motion Blur, Bloom, Grain, Vignette, Color Gradient and FXAA.

En este vídeo puedes ver todas estas técnicas aplicadas al mismo tiempo en una demo:

Resources

Start developing 3D apps with .NET 5 and C# 9 right now following these next steps:

  1. Descárgate WaveEngine 3.1
  2. Prueba los nuevos ejemplos basados en .NET 5
  3. Nos importa mucho tu feedback. ¡Déjalo aquí!

 

Post original publicado para Microsoft

Javier Cantón
Autor
Javier Cantón
Plain Concepts Research

Formulario de descarga

¡Gracias!

En breve recibirás el dossier de

Virtual Stage en tu correo electrónico.

Formulario de contacto

En breve uno de nuestros expertos se pondrá en contacto contigo.

¡Gracias!

Contacta con nosotros

¡Gracias!

En breve nos pondremos

en contacto contigo.

Formulario de descarga

¡Gracias!

En breve recibirás el dossier de Balea en tu correo electrónico.

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Formulario de descarga

¡Gracias!

En breve recibirás el dossier de Orein en tu correo electrónico.

Formulario de descarga

¡Gracias!

En breve recibirás el dossier de Smart Occupancy App en tu correo electrónico.

Formulario de descarga

¡Gracias!

Formulario de descarga

¡Gracias!

En breve recibirás el dossier de Sidra Data Platform en tu correo electrónico.

Formulario de descarga

¡Gracias!

En breve recibirás el dossier de Smart Concepts en tu correo electrónico.

Formulario de descarga

¡Gracias!

Recibirás el documento en tu correo electrónico.

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!

Accede a la sesión

¡Gracias!