
Entdecken Sie Evergine … mehr denn je!
Wir freuen uns sehr, all die spannenden Neuerungen vorzustellen, die wir im vergangenen Jahr in unserer Grafik-Engine umgesetzt haben. Vor 10 Jahren haben wir WaveEngine mit einem großartigen Team von Fachleuten ins Leben gerufen. Auf diesem Weg haben wir viel gelernt, und jetzt sind wir bereit, dieses Projekt auf die nächste Stufe zu heben. Deshalb haben wir beschlossen, diese Technologie mit einer klaren Vision in Evergine umzubenennen.
Unsere Mission ist es, eine großartige Grafik-Engine auf Basis der Sprache C# zu schaffen, um die neuesten Fortschritte der Computergrafik in den Industriesektor zu bringen, damit Unternehmen Produkte mit 3D-Inhalten einfacher als je zuvor aktualisieren oder neu entwickeln und auf einer Vielzahl von Geräten und Plattformen anbieten können.
Mit Evergine haben wir eine einheitliche Grafikplattform geschaffen, die die gängigsten Grafik-APIs wie DirectX, Vulkan, OpenGL, Metal und WebGL unterstützt, auf Desktop-, Mobil- und Webplattformen läuft, die neuesten Leistungsverbesserungen von .Net 6.0 nutzt und die meistverwendeten UI-Technologien wie WPF, Windows Forms, SDL, GTK, Cocoa sowie die neue, von Microsoft eingeführte WinUI-Technologie integriert.
Hier können Sie Evergine herunterladen:
Evergine-Highlights
- Neuer Launcher
- Neue .Net 6-Vorlagen mit C# 10
- Unterstützung für Visual Studio 2022-Projekte
- Neue Raytracing-API
- Neue Dokumentationswebsite
- Neues Paketsystem
- Debugging von WASM-Web-Apps
- Neue Entity-Prefabs
- Neues PostProcessing-Graph-Tool
- AMD FidelityFX Super Resolution
- Unterstützung für WinUI-Anwendungen
- Neue kommende Add-ons
- Neue ImGUI-Erweiterung
- Neue GPU-Queries-API
Einheitliche Grafikplattform
Evergine bietet eine einheitliche Grafikplattform mit den neuesten Grafik-APIs wie DirectX, Vulkan, OpenGL, Metal und WebGL. Neue Funktionen und Verbesserungen stehen auf allen Plattformen gleichzeitig zur Verfügung, und Ihr Code läuft auf Desktop, Mobilgeräten und im Web.

Evergine stellt auf eine neue Release-Versionierung um: Wir haben die Version 4.0 übersprungen und verwenden jetzt Calendar Versioning.
[Jahr].[Monat].[Tag].[Build]
Eines unserer wichtigsten Ziele ist es, dass unsere Kunden stets mit den besten und neuesten Evergine-Versionen arbeiten. Dies hilft dabei zu erkennen, ob die verwendete Version möglicherweise veraltet ist.
Unsere erste Evergine-Version ist 2021.11.17.X
.Net 6 und C# 10
Evergine ist die erste Grafik-Engine mit offizieller Unterstützung für .Net 6 und C# 10. Über den neuen Evergine Launcher stehen neue Projektvorlagen für das neue .Net 6 LTS zur Verfügung.
Dieser Übergang begann vor 2 Jahren mit der Nutzung von .Net Core, und im vergangenen Jahr waren wir eine der ersten Grafik-Engines mit Unterstützung für .Net 5. All diese Arbeit hat uns geholfen, nur eine Woche nach der Veröffentlichung dieser neuen Technologie durch Microsoft problemlos auf .Net 6 umzusteigen.
Mit .Net 6 und Visual Studio 2022 erhalten Sie automatisch Zugriff auf die fortschrittlichsten Features von C# und der .Net-Runtime, etwa geringeren Speicherverbrauch, schnelleren Code, Hot Reload, IL-Trimming, schnellere E/A-Operationen, Record Structs oder ARM64-Unterstützung.
Neuer Launcher
Der Launcher wurde in Evergine nahezu vollständig neu geschrieben. Ziel war ein neuer Ausgangspunkt, der alle Ressourcen zur Entwicklung von Anwendungen mit Evergine an einem Ort bündelt.
Jetzt können Sie mehrere Evergine-Versionen mit einem Klick installieren und ganz einfach verschiedene Quellen einrichten, darunter auch eine lokale Paketquelle.
Wir haben unseren internen Nightly-Kanal als neue Quelle veröffentlicht, sodass Sie über diesen Kanal alle experimentellen Features ausprobieren können.
Der neue Launcher bietet neue Bereiche wie Samples, Learning und Support, damit Entwickler alle relevanten Ressourcen leicht finden.

Neue Dokumentation
Wir haben einen neuen, vollständigen Dokumentationsleitfaden erstellt, der alle wichtigen Themen für den Einstieg in Evergine abdeckt. Eine bessere Dokumentation war einer der häufigsten Wünsche auf unserer Feedback-Seite bei GitHub, und dies ist das Ergebnis.

Raytracing-Unterstützung
Evergine lässt sich einfach in Desktopanwendungen und Websites integrieren, und gleichzeitig erhalten Sie Zugriff auf die neuesten Fortschritte der Grafiktechnologie wie RTX von Nvidia.
Die RTX-Technologie nutzt die neue Grafikkartengeneration, um 3D-Inhalte per Raytracing in Echtzeit zu rendern. Das ist eine gute Alternative, um die Realitätsnähe unseres Renderings gegenüber der klassischen Rasterisierung zu verbessern.
Raytracing wird in Evergine unterstützt – als Teil seiner Low-Level-API auf Basis von DirectX 12 und Vulkan.

Paketsystem
Wiederverwendbarkeit ist ein weit verbreitetes Konzept in der Softwareentwicklung, und als Entwickler überlegen wir ständig, wie wir Teile unseres Codes isolieren können, um Bibliotheken, Code-Snippets oder Assets zu erstellen, die in verschiedenen Projekten genutzt werden können. In der .NET-Welt ist es sehr üblich, Bibliotheken als NuGet-Pakete bereitzustellen.
Evergine selbst wird im NuGet-Format verteilt, und dadurch stellen wir zahlreiche integrierte Behaviors, Komponenten und Services bereit. Weniger einfach ist es jedoch, Assets wie Texturen, Effekte oder Materialien aus dem Content-Ordner eines Evergine-Projekts zu teilen. Um dieses Problem zu lösen, haben wir an einem neuen Paketsystem gearbeitet, mit dem Sie Assets verteilen können, die sich in vielen Projekten wiederverwenden lassen.
Derzeit nutzt die Standard-Projektvorlage dieses neue Paketsystem, um alle grundlegenden Assets unter dem Namen Evergine.Core-Paket bereitzustellen.

Debugging von WASM-Web-Apps
Wir haben auf Basis des neuen .Net 6 und des Blazor WebAssembly SDK eine Reihe von Technologien entwickelt, die in einer völlig neuen WebGL-Vorlage enthalten sind. Damit konnten wir eine Funktion für Entwickler bereitstellen, die bisher fehlte: Debugging von nach WebAssembly kompiliertem C#-Code in Visual Studio!
Erstellen Sie einfach ein neues Projekt im neuen Evergine Launcher, wählen Sie die WebGL2.0-Vorlage und öffnen Sie die Solution in Visual Studio. Nachdem Sie das Projekt wie in der README beschrieben eingerichtet haben, setzen Sie einen Breakpoint im Code, drücken auf Play – und erleben die Magie.

Die Unterstützung für WebAssembly-Debugging ist zweifellos ein großer Sprung für die Entwicklungsproduktivität und steigert Qualität, Sicherheit und Performance jeder Evergine-Webanwendung.
Neue Entity-Prefabs
Evergine führt eine frühe Version unseres neuen Prefab-Systems mit einem Grundstock an Features ein, während wir daran arbeiten, diesem System weitere interessante Funktionen hinzuzufügen. In dieser ersten Version unterstützen wir das Erstellen und Instanziieren von Prefabs.

PostProcessing-Graph-Tool
Evergine enthält ein neues Postprocessing-Graph-Asset, mit dem Sie einen Graphen der in Ihrem Rendering verwendeten Postprocessing-Effekte definieren können.
Alle Knoten des Postprocessing-Graphen basieren auf Compute Shadern, um die bestmögliche Performance beim Rendering zu gewährleisten, und lassen sich im Effekt-Tool von Evergine Studio einfach bearbeiten.
Außerdem haben wir einen Standard-Postprocessing-Graphen mit den meistgenutzten Effekten samt Quellcode beigefügt, der Ihnen hilft, neue Post-Effekte auf Basis von Compute Shadern zu erstellen.

AMD FidelityFX Super Resolution (FSR)
FidelityFX Super Resolution nutzt hochoptimierte Spatial-Upscaling-Technologien von AMD, um die Framerate Ihrer Anwendungen zu steigern.
Die AMD-FSR-Technologie wird als Compute-Knoten im Standard-Postprocessing-Graphen unterstützt und hilft Ihnen, vollständige, hochwertige Szenen in Echtzeit auf einer Vielzahl von Computern zu rendern.
Sie nimmt ein in niedriger Auflösung gerendertes Farbbild als Eingabe und wendet einen Super-Resolution-Algorithmus an, um die Ausgabe in der finalen Auflösung zu erzeugen. Das ist interessant für das Rendern komplexer CAD-Dateien mit Millionen winziger Teile ohne Aliasing; im Qualitätsmodus ist das Ergebnis der nativen Auflösung sehr ähnlich.

WinUI-Unterstützung
WinUI ist die neueste UI-Technologie von Microsoft, mit der sich moderne Anwendungen für alle Windows-Geräte einfach entwickeln lassen. Sie setzt auf Fluent Design, um intuitive, barrierefreie und leistungsstarke Erlebnisse sowie die neuesten UI-Muster zu ermöglichen.
Mit Evergine können Sie jetzt 3D-Anwendungen auf Basis von WinUI erstellen. Ein Beispiel finden Sie unter https://github.com/EvergineTeam/UIWindowSystemsDemo.

ImGUI-Erweiterung
ImGui ist eine sehr beliebte grafische Benutzeroberfläche mit minimalen Abhängigkeiten, die eine einfache, direkte API zur Darstellung von GPU-Oberflächen nutzt.
Wir haben eine interne Erweiterung im Namespace Evergine.ImGui erstellt, die sich sehr gut zur Anzeige von Diagnoseinformationen eignet.
Wir arbeiten an einem neuen internen Diagnosetool auf Basis von ImGui, das interne Frame-Statistiken und weitere nützliche Informationen anzeigt.

Kommende Add-ons
Wir stehen kurz davor, eine Reihe hervorragender Add-ons auf Basis des neuen Paketsystems zu veröffentlichen. Diese Add-ons sollen einige zentrale Probleme lösen, mit denen Unternehmen bei der Entwicklung industrieller 3D-Anwendungen mit ihren gängigen Ressourcen konfrontiert sind.
- Azure Remote Rendering: Azure Remote Rendering bringt Ihre hochwertigsten 3D-Inhalte und interaktiven Erlebnisse in die Mixed Reality. Der Service nutzt die Rechenleistung von Azure, um selbst komplexeste Modelle in der Cloud zu rendern, und streamt sie in Echtzeit auf Ihre Geräte, sodass Nutzer mit 3D-Inhalten in beeindruckender Detailtiefe interagieren und zusammenarbeiten können.
- Noesis GUI: NoesisGUI ist eine schlanke, plattformübergreifende Bibliothek für grafische Benutzeroberflächen auf Basis von XAML, optimiert für GPUs. Mit NoesisGUI und Evergine können Sie ansprechende Benutzeroberflächen mit leistungsstarken XAML-Tools wie Microsoft Expression Blend erstellen.
- CAD-Formate: Bringen Sie Ihr industrielles CAD-/3D-Modell in Ihre Evergine-Anwendung. Unterstützt werden die Formate IFC, STEP, IGES, STL und OBJ.
- MRTK: Evergine.MRTK ist ein Projekt mit einer Reihe von Komponenten und Features, die die plattformübergreifende Entwicklung von XR-Anwendungen in Evergine beschleunigen. Evergine.MRTK bietet grundlegende Bausteine für die Evergine-Entwicklung auf XR-Plattformen wie:
- Microsoft HoloLens 2
- Windows Mixed Reality-Headsets
- OpenVR-Headsets (HTC Vive / Oculus Rift)
- Bing Maps 3D: Holen Sie alle Vorzüge der 3D-Kartografie in Evergine. Das Bing Maps-Add-on ist ein Kartensteuerelement für Evergine, mit dem Sie 3D-Kartendaten von Bing Maps in Ihrer Anwendung nutzen können.
Fazit
Dies ist ein umfangreiches Release mit Verbesserungen bei Performance, Funktionalität und Benutzerfreundlichkeit, und in den kommenden Wochen und Monaten werden wir viele weitere Features ankündigen.
Dieses Release ist das Ergebnis harter Arbeit und eines großartigen Teams talentierter Menschen aus vielen Bereichen – mit einer klaren Idee: die bestmögliche Grafiktechnologie für den Industriesektor zu schaffen.
Wir hoffen, dass Sie diesen Beitrag interessant fanden. Wir werden weiterhin mit weiteren Unternehmen zusammenarbeiten, um ihnen bei der Entwicklung beeindruckender 3D-Lösungen zu helfen.
Vielen Dank – Ihr Evergine-Team.
