
Support for New Evergine Runtimes
With the release of the new stable version of Evergine, we have expanded the engine’s capabilities to import and work with a wider variety of file formats.
As part of this update, new Evergine.Runtimes libraries have been added, along with a new example project: “Evergine Runtime Lab.”
This version includes the following NuGet packages:
- Evergine.Runtimes.OBJ
- Evergine.Runtimes.USD
- Evergine.Runtimes.IFC
- Evergine.Runtimes.CAD
With this release, our goal is to make it easier to integrate new 3D model formats—such as OBJ and USD—as well as formats focused on industrial and architectural design, like IFC and CAD.
Evergine.Runtimes.OBJ
Until now, Evergine supported the GLB and STL formats.
With the addition of the new Evergine.Runtimes.OBJ library, we’ve expanded the engine’s loading capabilities by adding support for one of the most widely used 3D formats in the industry: OBJ.
Main features of Evergine.Runtimes.OBJ
- Support for simple geometries (triangles and quads).
- Compatibility with basic and PBR
- Support for textures in PNG, JPG, and BMP
- Compatibility with point clouds.
Evergine.Runtimes.USD
What is ?
Universal Scene Description (USD) is an open format and technology developed by Pixar to describe, exchange, and work with complex 3D scenes.
It’s not just a file format, but also a modular and scalable framework for managing 3D content in large-scale projects
Key features of USD
- Unified and interconnected scene: provides a common scene representation, making it easier to integrate data from different sources.
- Efficiency and scalability: designed to handle extremely large scenes without sacrificing performance.
- Flexible and extensible: supports a wide range of 3D data, including models, textures, lighting, animations, and more.
- Interoperability: compatible with various tools such as Maya, Houdini, Blender, and other widely used industry software.
Thanks to the advantages it offers, the “Alliance for OpenUSD” was created — an initiative in which companies such as Pixar, Apple, Adobe, NVIDIA, and Autodesk committed to promoting and advancing the format.
Today, USD has become the primary format for 3D projects in several of these companies’ software, such as NVIDIA Omniverse, or in Apple’s case, where it is used for augmented reality (AR) content on their devices.
With the increasing adoption of USD across the industry, and Evergine team’s ongoing commitment to innovation and continuous improvement of the engine, we have incorporated a new runtime that enables Evergine to load this type of format in real time.
Evergine.Runtimes.USD Features
After researching different APIs for USD file loading, we chose OpenUSD, the official API developed by Pixar and written in Python.
Evergine.Runtimes.USD uses CSnake to generate a Python environment with the usd-core (OpenUSD) module, enabling real-time USD file loading within .NET.
Main features of Evergine.Runtimes.USD
- Support for all USD format types: .usd, .usdz, .usda, and .usdc.
- Compatibility with simple (triangles) and complex (quads, N-gons) geometries.
- Support for basic and PBR
- Compatibility with textures in PNG, JPG, and BMP
Evergine.Runtimes.IFC
The new Evergine.Runtimes.IFC library provides a powerful and efficient solution for the dynamic loading of IFC models at runtime.
It is designed for real-time 3D applications and integrates seamlessly into projects developed with Evergine.
What is ?
Industry Foundation Classes (IFC) is an open, vendor-independent standard for the exchange and sharing of BIM (Building Information Modeling) data.
IFC defines a neutral data schema that describes entities, attributes, and relationships within a building information model, allowing different applications to import and export data in an interoperable way.
Key characteristics of IFC
- Interoperability: acts as a common language within the BIM workflow, ensuring that information generated in one stage or discipline can be used by other stakeholders and tools without data loss or ambiguity.
- Collaboration: allows architects, engineers, and builders to work on a live model where any change is automatically reflected across views, drawings, and budgets.
- Standardization: while BIM defines the process, IFC provides the technical standard that structures and transfers information between systems. Without IFC, the collaborative scope and consistency of BIM models would be greatly limited.
Given these characteristics of the IFC standard, its role within the BIM methodology is essential to ensure interoperability and collaboration among the different disciplines involved throughout a project’s lifecycle.
Today, IFC is widely used in major architecture and engineering software such as Revit or ArchiCAD, among others, where it serves as the common format for exchanging models and construction data.
With the addition of native IFC support, Evergine takes an important step toward the integration of BIM workflows into real-time 3D environments.
Being an engine specifically designed for industrial application development, this enhancement represents a significant milestone, allowing developers and industry professionals to visualize, interact with, and explore BIM models directly within the engine, without the need for intermediate conversions or data loss.
Evergine.Runtimes.IFC Features
During the development of Evergine.Runtimes.IFC, the Evergine team explored different libraries to standardize the reading of IFC files.
After evaluating several options, the team chose XBimGeometry, a library that enables the reading and processing of IFC files, converting them into data structures with geometry that can be interpreted by Evergine.
Main features of Evergine.Runtimes.IFC
- Support for IFC2x3 and IFC4.
- Rendering of CAD solids and 3D meshes.
- Rendering of materials by vertex color.
- Rendering of translucent materials.
- Generation of smooth and hard normals.
- Efficient batching of geometry by material.
Evergine.Runtimes.CAD
In addition to the IFC file loading library, we’ve introduced a new loader: Evergine.Runtimes.CAD, which enables real-time loading of CAD files (DXF and DWG) within projects built with Evergine.
What are CAD, DXF, and DWG files?
CAD files contain vector geometry, layers, and metadata used for technical drawings and models in engineering and architecture.
- DWG is Autodesk’s proprietary binary format, widely used to store complete drawings with high fidelity.
- DXF (Drawing Exchange Format) is Autodesk’s interchange format, typically ASCII (though also available in binary form), designed to share data between different applications.
Both formats store entities such as lines, arcs, text, blocks, and hatches, and are extensively used in design, manufacturing, and technical documentation.
Evergine.Runtimes.CAD Features
After analyzing several options, the team chose ACadSharp, a C# library for reading and writing CAD files.
ACadSharp provides support for a wide range of DXF and DWG versions and stands out for its simple interface, high performance, and robustness — key factors in standardizing CAD file loading in Evergine.
Main features of Evergine.Runtimes.CAD
- DXF support: versions from R12 to R2024 (ASCII & Binary).
- DWG support: versions from R14 to R2024.
- Representation of the main 2D geometric structures that make up CAD documents.
Sample “Evergine Runtime Labs”
To showcase the potential of each Evergine Runtime, we have developed Evergine Runtime Lab, a sample project available for download directly from the Evergine Launcher.
This example allows you to quickly and easily test the loading and visualization of all the formats supported by the Evergine Runtimes.
Documentation
For detailed technical documentation and implementation information for each of these runtimes, please refer to the official Evergine .
Conclusions
At Evergine, we continue to work on continuously improving our product, expanding its compatibility with a wide variety of 3D formats.
With this update, we’ve added support for classic formats like OBJ, new standards such as USD, and formats focused on industrial and architectural design like IFC and CAD.
Our goal is to make developers’ work easier by providing a more flexible, powerful, and modern environment tailored to the current needs of the 3D industry.