
ImGui-Erweiterung plus Imguizmo, Implot, Imnodes
In der neuesten Version von Evergine haben wir Unterstützung für die ImGui-Bibliothek und drei ihrer besten Zusatzmodule hinzugefügt, um umfangreiche Oberflächen und Tools in Ihren Evergine-Anwendungen zu ermöglichen.
Wenn Sie das Paket Evergine.Bindings.ImGui zu Ihren Projekten hinzufügen und optional eine der unterstützten Erweiterungen (Evergine.Bindings.Imguizmo, Evergine.Bindings.Implot, Evergine.Bindings.Imnodes), können Sie sofort ihre unkomplizierte API nutzen, um kleine Tool-Steuerelemente zu erstellen und verschiedene Aspekte der Anwendung zu visualisieren.

Aber was um alles in der Welt ist ImGui?
Falls Sie noch nicht davon gehört haben: ImGui ist eine eigenständige Bibliothek, die ausgefeilte Oberflächen erstellt, die innerhalb der Grafikanwendung existieren und wie jedes andere Element der virtuellen Welt gerendert werden, jedoch in 2D. Auf diese Weise lassen sich ganze komplexe Oberflächen für Software wie Grafikeditoren innerhalb der Anwendung erstellen.

Abbildung 1. Beispiel für den Einsatz von ImGui im Tracy Profiler
Und was ist mit Imguizmo, Implot und Imnodes?
Imguizmo ist eine Erweiterung für ImGui, mit der sich spezielle Steuerelemente für 3D-Objekte erstellen lassen, etwa Manipulatoren für die Kameraausrichtung sowie Steuerelemente für die Live-Rotation und -Translation von 4×4-Matrizen.

Implot ist eine weitere Erweiterung, um verschiedene Arten von Diagrammen in einem ImGui-Fenster zu erstellen. Sie ist sehr nützlich, um sich ändernde Variablen zur Laufzeit zu visualisieren.

Imnodes wiederum fügt ein nützliches Steuerelement hinzu, um Graphen zu erstellen, zu visualisieren und ihre Verbindungen und Knoten zu bearbeiten.

So verwenden Sie es in Ihrer Anwendung
Nachdem Sie die NuGet-Abhängigkeiten hinzugefügt haben, müssen Sie zunächst den ImGui-Manager in der Szene registrieren:

Anschließend müssen Sie nur noch Komponenten erstellen, die die ImGui-API aufrufen, um neue Steuerelemente zu rendern. Ausführlichere Informationen finden Sie in der Dokumentation, und wir haben gerade eine kleine Demo veröffentlicht, die die wichtigsten Funktionen veranschaulicht.
Wir halten unsere Bindings stets auf dem neuesten Stand der Entwicklung von ImGui, Sie müssen also nicht befürchten, auf alten Versionen festzusitzen. Derzeit unterstützen wir nur Windows (x86-x64), planen aber, sehr bald Unterstützung für ARM64 und Linux-Plattformen hinzuzufügen. Darüber hinaus werden wir weitere Erweiterungen in naher Zukunft hinzufügen. Folgen Sie uns also auf Twitter (@EvergineTeam) und auf unserem YouTube-Kanal.