
Prise en charge des nouveaux runtimes Evergine

Avec la nouvelle version stable d’Evergine, nous avons étendu les capacités du moteur pour importer et exploiter une plus grande variété de formats de fichiers.
Dans le cadre de cette mise à jour, de nouvelles bibliothèques Evergine.Runtimes ont été ajoutées, ainsi qu’un nouveau projet d’exemple : « Evergine Runtime Lab ».
Cette version inclut les packages NuGet suivants :
- Evergine.Runtimes.OBJ
- Evergine.Runtimes.USD
- Evergine.Runtimes.IFC
- Evergine.Runtimes.CAD
Avec cette release, notre objectif est de faciliter l’intégration de nouveaux formats de modèles 3D — comme OBJ et USD — ainsi que de formats orientés conception industrielle et architecturale, comme IFC et CAD.
Evergine.Runtimes.OBJ
Jusqu’à présent, Evergine prenait en charge les formats GLB et STL.
Avec l’ajout de la nouvelle bibliothèque Evergine.Runtimes.OBJ, nous avons étendu les capacités de chargement du moteur en ajoutant la prise en charge de l’un des formats 3D les plus utilisés dans l’industrie : OBJ.

Principales fonctionnalités d’Evergine.Runtimes.OBJ
- Prise en charge des géométries simples (triangles et quads).
- Compatibilité avec les matériaux basiques et PBR
- Prise en charge des textures aux formats PNG, JPG et BMP
- Compatibilité avec les nuages de points.
Evergine.Runtimes.USD

Qu’est-ce que ?
Universal Scene Description (USD) est un format et une technologie ouverts développés par Pixar pour décrire, échanger et manipuler des scènes 3D complexes.
Ce n’est pas seulement un format de fichier, mais aussi un framework modulaire et évolutif pour gérer le contenu 3D dans des projets de grande envergure
Principales caractéristiques d’USD
- Scène unifiée et interconnectée : fournit une représentation de scène commune, ce qui facilite l’intégration de données issues de différentes sources.
- Efficacité et évolutivité : conçu pour gérer des scènes extrêmement volumineuses sans sacrifier les performances.
- Flexible et extensible : prend en charge un large éventail de données 3D, notamment les modèles, les textures, l’éclairage, les animations, etc.
- Interopérabilité : compatible avec divers outils comme Maya, Houdini, Blender et d’autres logiciels largement utilisés dans l’industrie.
Grâce aux avantages qu’il offre, l’«Alliance for OpenUSD» a vu le jour — une initiative dans laquelle des entreprises comme Pixar, Apple, Adobe, NVIDIA et Autodesk se sont engagées à promouvoir et faire évoluer le format.
Aujourd’hui, USD est devenu le format principal des projets 3D dans plusieurs logiciels de ces entreprises, comme NVIDIA Omniverse, ou dans le cas d’Apple, où il est utilisé pour les contenus de réalité augmentée (AR) sur leurs appareils.
Face à l’adoption croissante d’USD dans l’industrie, et fidèle à l’engagement de l’équipe Evergine en faveur de l’innovation et de l’amélioration continue du moteur, nous avons intégré un nouveau runtime qui permet à Evergine de charger ce type de format en temps réel.
Fonctionnalités d’Evergine.Runtimes.USD
Après avoir étudié différentes API de chargement de fichiers USD, nous avons choisi OpenUSD, l’API officielle développée par Pixar et écrite en Python.
Evergine.Runtimes.USD utilise CSnake pour générer un environnement Python avec le module usd-core (OpenUSD), ce qui permet le chargement de fichiers USD en temps réel dans .NET.
Principales fonctionnalités d’Evergine.Runtimes.USD
- Prise en charge de tous les types de fichiers USD : .usd, .usdz, .usda et .usdc.
- Compatibilité avec les géométries simples (triangles) et complexes (quads, N-gones).
- Prise en charge des matériaux basiques et PBR
- Compatibilité avec les textures aux formats PNG, JPG et BMP
Evergine.Runtimes.IFC
La nouvelle bibliothèque Evergine.Runtimes.IFC offre une solution puissante et efficace pour le chargement dynamique de modèles IFC à l’exécution.
Elle est conçue pour les applications 3D en temps réel et s’intègre parfaitement aux projets développés avec Evergine.

Qu’est-ce que ?
Industry Foundation Classes (IFC) est un standard ouvert et indépendant des éditeurs pour l’échange et le partage de données BIM (Building Information Modeling).
IFC définit un schéma de données neutre qui décrit les entités, les attributs et les relations au sein d’une maquette numérique du bâtiment, ce qui permet à différentes applications d’importer et d’exporter des données de manière interopérable.
Principales caractéristiques d’IFC
- Interopérabilité : sert de langage commun au sein du workflow BIM, garantissant que les informations produites à une étape ou dans une discipline peuvent être utilisées par d’autres intervenants et outils sans perte de données ni ambiguïté.
- Collaboration : permet aux architectes, ingénieurs et constructeurs de travailler sur une maquette vivante, où toute modification se répercute automatiquement sur les vues, les plans et les budgets.
- Standardisation : si le BIM définit le processus, IFC fournit le standard technique qui structure et transfère les informations entre les systèmes. Sans IFC, la portée collaborative et la cohérence des maquettes BIM seraient fortement limitées.
Compte tenu de ces caractéristiques du standard IFC, son rôle au sein de la méthodologie BIM est essentiel pour garantir l’interopérabilité et la collaboration entre les différentes disciplines intervenant tout au long du cycle de vie d’un projet.
Aujourd’hui, IFC est largement utilisé dans les principaux logiciels d’architecture et d’ingénierie, comme Revit ou ArchiCAD, entre autres, où il sert de format commun d’échange de maquettes et de données de construction.
Avec l’ajout de la prise en charge native d’IFC, Evergine franchit une étape importante vers l’intégration des workflows BIM dans des environnements 3D en temps réel.
Pour un moteur spécifiquement conçu pour le développement d’applications industrielles, cette amélioration représente une étape majeure : elle permet aux développeurs et aux professionnels du secteur de visualiser, manipuler et explorer des maquettes BIM directement dans le moteur, sans conversion intermédiaire ni perte de données.
Fonctionnalités d’Evergine.Runtimes.IFC
Lors du développement d’Evergine.Runtimes.IFC, l’équipe Evergine a étudié différentes bibliothèques pour standardiser la lecture des fichiers IFC.
Après avoir évalué plusieurs options, l’équipe a choisi XBimGeometry, une bibliothèque qui permet de lire et de traiter les fichiers IFC en les convertissant en structures de données avec une géométrie interprétable par Evergine.
Principales fonctionnalités d’Evergine.Runtimes.IFC
- Prise en charge d’IFC2x3 et d’IFC4.
- Rendu des solides CAD et des maillages 3D.
- Rendu des matériaux par couleur de sommet.
- Rendu des matériaux translucides.
- Génération de normales lisses et dures.
- Batching efficace de la géométrie par matériau.
Evergine.Runtimes.CAD
En plus de la bibliothèque de chargement de fichiers IFC, nous avons introduit un nouveau loader : Evergine.Runtimes.CAD, qui permet le chargement en temps réel de fichiers CAD (DXF et DWG) dans les projets créés avec Evergine.

Que sont les fichiers CAD, DXF et DWG ?
Les fichiers CAD contiennent de la géométrie vectorielle, des calques et des métadonnées utilisés pour les dessins techniques et les modèles d’ingénierie et d’architecture.
- DWG est le format binaire propriétaire d’Autodesk, largement utilisé pour stocker des dessins complets avec une grande fidélité.
- DXF (Drawing Exchange Format) est le format d’échange d’Autodesk, généralement en ASCII (mais également disponible en binaire), conçu pour partager des données entre différentes applications.
Ces deux formats stockent des entités comme des lignes, arcs, textes, blocs et hachures, et sont très utilisés en conception, fabrication et documentation technique.
Fonctionnalités d’Evergine.Runtimes.CAD
Après avoir analysé plusieurs options, l’équipe a choisi ACadSharp, une bibliothèque C# de lecture et d’écriture de fichiers CAD.
ACadSharp prend en charge un large éventail de versions DXF et DWG, et se distingue par son interface simple, ses hautes performances et sa robustesse — des facteurs clés pour standardiser le chargement des fichiers CAD dans Evergine.
Principales fonctionnalités d’Evergine.Runtimes.CAD
- Prise en charge de DXF : versions R12 à R2024 (ASCII et binaire).
- Prise en charge de DWG : versions R14 à R2024.
- Représentation des principales structures géométriques 2D qui composent les documents CAD.
Exemple « Evergine Runtime Labs »
Pour illustrer le potentiel de chaque Evergine Runtime, nous avons développé Evergine Runtime Lab, un projet d’exemple téléchargeable directement depuis l’Evergine Launcher.
Cet exemple vous permet de tester rapidement et facilement le chargement et la visualisation de tous les formats pris en charge par les Evergine Runtimes.

Documentation
Pour une documentation technique détaillée et des informations d’implémentation sur chacun de ces runtimes, consultez la documentation officielle d’Evergine .
Conclusions
Chez Evergine, nous continuons d’améliorer notre produit en permanence et d’étendre sa compatibilité avec une grande variété de formats 3D.
Avec cette mise à jour, nous avons ajouté la prise en charge de formats classiques comme OBJ, de nouveaux standards comme USD, et de formats orientés conception industrielle et architecturale comme IFC et CAD.
Notre objectif est de faciliter le travail des développeurs en leur offrant un environnement plus flexible, puissant et moderne, adapté aux besoins actuels de l’industrie 3D.