Skip to main content

The First Evergine 2024 release is here!

We are excited to announce the new release of Evergine! This is our first major update in 2024. Originally planned for February, the release was delayed as we focused on developing custom features for some of our customers. We appreciate your patience and apologize for any inconvenience this may have caused.

Evergine is the Graphics Engine we’ve meticulously crafted within Plain Concepts to power our internal products. Over the past decade, our licensing approach has remained consistent, emphasizing accessibility for all users:

  • Evergine is completely free for commercial use.
  • No registration is required.
  • We do not monitor your usage or activity (no telemetry).
  • The license is valid for all industries.

What’s new?

We are committed to addressing the most important feature requests from the industry, and this new version of Evergine includes several key enhancements. We’ve integrated full support for .NET 8.0 across all our platforms, leveraging the significant performance improvements introduced in C# 12, runtimes, and precompilers. Our OpenXR support has been updated with new features to accommodate the latest VR/MR devices. One of the most requested features, nested prefabs, is now available along with a new prefab editor. Additionally, we’ve worked diligently to enhance the performance of loading geometries and textures, utilizing technologies like Draco and Skia. These updates are designed to provide you with powerful tools and improved performance, enabling you to create even more amazing projects.

Download and install:

To learn more about how to migrate an existing project to the new version of the engine, you have all the steps here: https://docs.evergine.com/2024.6.28/manual/get_started/upgrade_project.html 

New Net 8 templates

This release marks the introduction of new .NET 8 templates for all our platforms, including Mobile (iOS, Android) and Web. Microsoft is rapidly advancing this technology, incorporating numerous performance improvements crucial for 3D graphics applications.

Key advancements in .NET 8.0 include optimized memory usage and reduced memory fragmentation, enhanced compiler optimizations for faster and more efficient code execution, improved garbage collection, and faster startup times through Ahead-of-Time (AOT) compilation.

Support for .NET 6.0 officially ends in November 2024. Therefore, if you are starting a new 3D graphics project, we highly recommend using the new templates tailored for your target platform to leverage .NET 8.0 in Evergine from today.

Officially support for Quest 3

We are excited to announce official support for the Meta Quest 3. This means we have reviewed and optimized all the new features, including the color passthrough, to ensure optimal performance. With this new release, any Quest 2 app based on Evergine can now be compiled to support Quest 3 features.

The Quest 3 offers several improvements over its predecessor. It boasts a larger field of view, with a horizontal FOV of 110° (up from 97°) and a vertical FOV of 96° (up from 93°). It also features the second-generation Snapdragon XR2 chipset, which includes 8GB of RAM, compared to 6GB in the Quest 2. Additionally, the full-color passthrough opens up new possibilities for mixed reality applications, making the Quest 3 particularly beneficial for industrial sectors by enhancing both virtual and augmented reality experiences.

Check out the XRSample from our sample GitHub repository to experience the capabilities on the Meta Quest 3: https://github.com/EvergineTeam/XRSample

Nested Prefab, New Prefab Editor and Prefab code generation

We are excited to announce two significant new features in Evergine: Nested Prefabs and the Prefab Editor.

Nested Prefabs allow you to create complex, hierarchical prefab structures by embedding prefabs within other prefabs. This modular approach enables the efficient reuse of components, ensuring consistency and saving time during project development.

The Prefab Editor offers an intuitive interface for creating and editing prefabs, providing real-time updates and precise control. This tool simplifies prefab management, allowing you to make detailed adjustments without affecting existing instances until changes are applied.

These features enhance workflow efficiency, promote modular design, and ensure project consistency. They are especially beneficial for large-scale 3D projects, enabling easier management and faster iteration.

In line with our commitment to efficient code, this release introduces a significant enhancement: prefabs are converted to code. This change results in substantial improvements in scene loading times, as demonstrated in the table below:

Image loaders now use SkiaSharp

Based on customer feedback, we have enhanced our image loaders by integrating the SkiaSharp library. This change significantly improves the loading times of images at runtime or from assets, particularly on platforms like Meta Quest and Web. On the Web platform, it is common to load PNG and JPG files from URLs or content, and this advancement provides a performance boost of up to 98%, greatly benefiting every web project.

The chart and table below show the average results from our internal tests, comparing the old loaders with the new SkiaSharp-based loaders.

New GTLF Draco compression support

Draco is a library developed by Google for compressing and decompressing 3D geometric meshes and point clouds. Its primary goal is to reduce the size of 3D assets, significantly enhancing their storage and transmission efficiency, especially in web projects.

Additionally, the glTF specification supports an extension that allows loading compressed geometry data (such as vertices, normals, colors, and texture coordinates) using Draco compression.

In this release, we have introduced support for the glTF Draco extension. This means you can now add your content files as compressed glTF, reducing the overall content size.

The table below shows the results we obtained with a test set of glTF files. As expected, models with more complex geometry achieve higher compression ratios:

New Evergine Runtime libraries

We are excited to announce the release of the new Evergine.Runtime Libraries, designed to enhance the flexibility and efficiency of loading dynamic models in Evergine.

Loading dynamic models has always been a challenge. To address this, we have introduced new runtime packages that support GLB and STL formats. These packages allow you to handle scenarios where your models are not part of the initial application bundle, meaning they are not static application assets or are marked as raw assets.

With the Evergine.Runtime Libraries, you can now dynamically download models from the internet and display them to users seamlessly. This feature is particularly useful for applications that require real-time model updates or integration of user-generated content. The new runtime loader packages streamline this process, making it easier than ever to incorporate dynamic content into your projects.

These advancements empower developers to create more dynamic and interactive applications, providing users with the latest content without the need for frequent updates or large initial downloads.

Explore the new Evergine.Runtime libraries and discover how they can transform your 3D development workflow. Additionally, we will be releasing support to many more industrial formats using this new approach.

MRTK and XRV improvements (new components and improvements)

We’re happy to share some updates to our MRTK and XRV libraries, which are key tools for developing XR experiences with our 3D engine, Evergine. These new features are all about making your development process smoother and more flexible. Here’s a quick rundown:

MRTK: Better Controls and More Flexibility

We’ve made a few tweaks to MRTK that should help you out:

  • ListView Improvements: Now, it’s easier to set the dimensions of ListView, so it fits in better with your other UI elements. Plus, we’ve added a loading indicator that you can show or hide while data loads – great for things like web requests.
  • New Data Adapters: We’ve changed how ListViews are populated with data adapters, which cuts down on string instantiation and uses typed data. This makes things run faster and lets you customize the layout for each cell to create unique views.
  • New ComboBox Control: The new ComboBox is pretty handy too. You can resize it easily, set the selected item dynamically, and customize the arrow button and placeholder text.

XRV: Better Notifications and Window Management

XRV also got some cool new features:

  • Notification Hub: This is part of XRV’s Windows System and lets you show floating panels with an icon, title, and message. If you have a bunch of notifications, they’ll show up one by one with a counter badge so users aren’t overwhelmed.
  • Customizable Title Bars: You can now customize the title bar of your windows to show a custom view, giving you more control over how your windows look and work.
  • Flexible Action Buttons: Instead of a fixed set of action buttons, you can now add as many as you need. If there are too many to display at once, an extra button appears that shows the rest in a list when clicked.

These updates should make your life easier and help you build better XR applications.

Future work

Evergine is a highly active project, and we are continuously adding new features to meet evolving industrial challenges. Our passion for technology drives Evergine’s development, ensuring that each version delivers enhanced productivity across various industries.

We are currently exploring the inclusion of DICOM support in the healthcare sector, utilizing a custom renderer based on ray tracing with support for both desktop and web applications. This will facilitate the creation of innovative products in healthcare.

The new Evergine.Runtime libraries have an exciting roadmap ahead. Future releases will include support for more specific file formats, enabling companies to work with industrial raw formats without the need for 3D file conversions.

Additionally, we are advancing our research into Neural Radiance Field and Gaussian Splatting technologies. These developments are expected to significantly impact Media companies in the coming years, as well as businesses working on Digital Twin projects for construction and maintenance digitalization.

Furthermore, we are experimenting with AI-based technologies beyond NeRF, focusing on tools that allow users to generate new 3D content from text or images. The results have been impressive, and this technology is evolving rapidly. We have exciting plans to integrate these AI capabilities into Evergine Studio in future releases. Stay tuned!

Thank you for supporting Evergine. We are delighted to collaborate with you in developing better technology for your products.

Javier Cantón
Author
Javier Cantón
Plain Concepts Research