28. September 2023

Evergine erweitert sich mit der Metal API auf iOS

Mit großer Freude kündigen wir für das kommende Evergine-Release die Unterstützung von iOS an – ein bedeutender Meilenstein in der Entwicklung unserer Grafik-Engine. Diese lang erwartete Funktion erweitert den Horizont von Evergine und stellt iOS-Entwicklern die Leistungsfähigkeit und Flexibilität unserer Engine zur Verfügung, damit sie hochperformante, visuell beeindruckende Anwendungen für Apples Mobilplattform erstellen können. In diesem Artikel gehen wir auf die wichtigsten Aspekte dieses Updates ein: die Integration von Metal, unseren neuen Metal-Grafikkontext und die Perspektiven der iOS-Unterstützung.

iOS-Unterstützung in Evergine

Die Aufnahme der iOS-Unterstützung in Evergine ist ein bedeutender Schritt nach vorn für unsere Engine. iOS hat sich als eine der dominierenden Plattformen im Mobilbereich etabliert, und die Nachfrage nach hochwertiger, performanter Grafik in iOS-Anwendungen war nie größer. Mit diesem Release kommen wir dem Wunsch zahlreicher Entwickler nach, die Möglichkeiten von Evergine für ihre iOS-Projekte zu nutzen.

iOS für C#

Um die iOS-Unterstützung nahtlos in Evergine zu integrieren, haben wir die neuesten Funktionen von .NET 7.0 und dem kommenden .NET 8.0 genutzt. So können wir die Leistungsfähigkeit von C# für die Entwicklung von iOS-Anwendungen einsetzen. Dank des Target Frameworks net7.0-ios, das in unserem Evergine Launcher verwendet wird, steht das gesamte iOS SDK zur Verfügung, was Ihnen die Entwicklung plattformübergreifender Grafikanwendungen erleichtert.

Weitere Informationen zu .NET und iOS finden Sie hier.

Metal API

Eine der zentralen Voraussetzungen für die iOS-Unterstützung in Evergine ist die Integration der Grafik-API Metal. Metal ist Apples proprietäre Grafik-API, die eine leistungsstarke Low-Level-Schnittstelle für das Rendering auf iOS- und macOS-Geräten bietet. Die Vorteile von Metal gegenüber dem bisher unterstützten OpenGL sind erheblich.

Mit diesem Evergine-Release führen wir ein neues Grafik-Backend ein: Evergine.Metal. Es stellt eine Metal-API-Implementierung der abstrakten Low-Level-Grafik-API von Evergine bereit, vergleichbar mit anderen wie DirectX11, DirectX12, Vulkan, OpenGL und WebGL (die Unterstützung des kommenden WebGPU ist für die Zukunft geplant).

Erstens ist Metal für Apple-Hardware optimiert und bietet direkten Zugriff auf die GPU. Das führt zu einer deutlich höheren Rendering-Leistung, geringerem Overhead und verbesserter visueller Qualität. Entwickler können die effizienten Multithreading-Fähigkeiten des Metal-Frameworks voll ausschöpfen, die für eine flüssige und reaktionsschnelle Grafik auf iOS-Geräten entscheidend sind.

Darüber hinaus bietet Metal fortgeschrittene Funktionen wie GPU-Compute-Aufgaben, mit denen Entwickler die Grenzen der GPU-Berechnung auf iOS über das klassische Rendering hinaus verschieben können. Dank des umfangreichen Funktionsumfangs von Metal können Evergine-Anwender visuell beeindruckende und reaktionsschnelle Anwendungen erstellen, die den hohen Ansprüchen von Apple-Nutzern gerecht werden.

Neues iOS-Template mit Visual Studio

In diesem neuen Evergine-Release finden Sie im Evergine Launcher ein brandneues iOS-Template-Projekt.

Derzeit ist dieses Template dafür ausgelegt, in Visual Studio für Windows geöffnet und über die Funktion Pair to Mac auf Ihrem iOS-Gerät bereitgestellt zu werden. Nützliche Informationen dazu finden Sie hier.

Um die iOS-Solution Ihrer Anwendung aufzurufen, öffnen Sie sie einfach über das Menü „File“ in Evergine Studio.

 

Sobald Ihre Evergine-iOS-Solution in Visual Studio geöffnet ist, finden Sie zwei Projekte in der Solution. Das erste ist Ihr Evergine-Projekt, das zweite das iOS-Projekt, das auf das Evergine-Projekt verweist.

 

 

Um Ihre Evergine-Anwendung erfolgreich auf Ihrem iOS-Gerät bereitzustellen, müssen Sie folgende Angaben korrekt konfigurieren:

  • Konfigurieren Sie die Eigenschaften für die iOS-Bundle-Signierung (Provisioning Profiles, Entwicklungszertifikate usw.).
  • Prüfen Sie die Datei Info.plist und legen Sie die Application Bundle ID passend zu Ihren Provisioning Profiles fest.
  • Stellen Sie sicher, dass Sie Visual Studio mit einem Mac gekoppelt haben.

Zukunftspläne

Nachdem die iOS-Unterstützung nun in Evergine integriert ist, richten wir den Blick nach vorn. Wir werden unsere Metal-Integration weiter ausbauen und die Möglichkeiten dieses leistungsstarken Frameworks noch stärker nutzen. Hier ein Ausblick auf unsere Zukunftspläne:

Apple Vision Pro

Die nahe Zukunft immersiver Anwendungen und des Spatial Computing führt über die mit Spannung erwartete Apple Vision Pro. Unser Team ist sich dessen bewusst und arbeitet daran, Evergine auf diese beeindruckende neue Plattform zu bringen.

Augmented Reality mit ARKit

Mit der Unterstützung von ARKit in Evergine erhalten Entwickler die Möglichkeit, immersive Augmented-Reality-Erlebnisse zu schaffen, die digitale Inhalte nahtlos mit der realen Welt verbinden. Das eröffnet zahlreiche Möglichkeiten – von interaktiven Szenarien bis hin zu praktischen Anwendungen wie der Visualisierung von Inneneinrichtungen oder im Bildungsbereich.

Fazit

Die Aufnahme der iOS-Unterstützung in das neueste Evergine-Release ist ein bedeutender Fortschritt in unserem Bestreben, Entwicklern modernste Werkzeuge und Technologien an die Hand zu geben. Mit der herausragenden Leistung von Metal, den Möglichkeiten von .NET und einem eigenen iOS-Profil können Entwickler nun außergewöhnliche, visuell fesselnde Anwendungen für iOS-Geräte erstellen. Mit Blick nach vorn birgt die iOS-Unterstützung von Evergine großes Potenzial – mit spannenden Perspektiven wie Vision Pro und ARKit am Horizont.

David avila
Autor
David Ávila
Plain Concepts Research