28 septembre 2023

Evergine arrive sur iOS avec l’API Metal

Dans la prochaine release d’Evergine, nous avons le plaisir d’annoncer l’ajout de la prise en charge d’iOS, une étape majeure dans le développement de notre moteur graphique. Cette fonctionnalité très attendue élargit les horizons d’Evergine et met la puissance et la flexibilité de notre moteur à la disposition des développeurs iOS, qui peuvent ainsi créer des applications performantes et visuellement époustouflantes pour la plateforme mobile d’Apple. Dans cet article, nous passons en revue les points clés de cette mise à jour : l’intégration de Metal, notre nouveau contexte graphique Metal et les perspectives de la prise en charge d’iOS.

La prise en charge d’iOS dans Evergine

L’arrivée de la prise en charge d’iOS dans Evergine représente une avancée majeure pour notre moteur. iOS s’est imposé comme une plateforme dominante dans l’univers mobile, et la demande de graphismes performants et de haute qualité dans les applications iOS n’a jamais été aussi forte. Avec cette release, nous répondons à l’appel des nombreux développeurs qui souhaitaient exploiter les capacités d’Evergine dans leurs projets iOS.

iOS en C#

Pour intégrer de façon transparente la prise en charge d’iOS dans Evergine, nous avons utilisé les dernières fonctionnalités de .NET 7.0 et du futur .NET 8.0. Cela nous permet de tirer parti de la puissance de C# pour développer des applications iOS. Grâce au framework cible net7.0-ios utilisé dans notre Evergine Launcher, nous avons accès à l’ensemble du SDK iOS, ce qui facilite le développement d’applications graphiques multiplateformes.

Pour en savoir plus sur .NET et iOS, je vous recommande de consulter cette page.

L’API Metal

L’un des principaux leviers de la prise en charge d’iOS dans Evergine est l’intégration de l’API graphique Metal. Metal est l’API graphique propriétaire d’Apple, qui offre une interface bas niveau et hautes performances pour le rendu sur les appareils iOS et macOS. Les avantages de Metal par rapport à OpenGL, pris en charge jusqu’à présent, sont considérables.

Dans cette release d’Evergine, nous introduisons un nouveau backend graphique : Evergine.Metal, qui fournit une implémentation Metal de l’API graphique bas niveau abstraite d’Evergine, à l’instar des autres comme DirectX11, DirectX12, Vulkan, OpenGL et WebGL (WebGPU devant être pris en charge à l’avenir).

Tout d’abord, Metal est optimisé pour le matériel Apple et offre un accès direct au GPU. Il en résulte des performances de rendu nettement supérieures, une surcharge réduite et une fidélité visuelle accrue. Les développeurs peuvent tirer pleinement parti des capacités de multithreading efficaces du framework Metal, essentielles pour offrir des graphismes fluides et réactifs sur les appareils iOS.

Par ailleurs, Metal propose des fonctionnalités avancées comme les tâches de calcul GPU, qui permettent aux développeurs de repousser les limites du calcul GPU sur iOS au-delà du rendu traditionnel. Grâce aux nombreuses capacités de Metal, les utilisateurs d’Evergine peuvent créer des applications visuellement époustouflantes et réactives, à la hauteur des exigences des utilisateurs d’appareils Apple.

Nouveau template iOS avec Visual Studio

Dans cette nouvelle release d’Evergine, vous découvrirez un tout nouveau projet template iOS disponible via l’Evergine Launcher.

Pour l’instant, ce template est conçu pour être ouvert dans Visual Studio pour Windows et déployé sur votre appareil iOS à l’aide de la fonctionnalité Pair to Mac. Vous trouverez des informations utiles ici.

Pour accéder à la solution iOS de votre application, il suffit de l’ouvrir depuis le menu « File » d’Evergine Studio.

 

Une fois votre solution iOS Evergine ouverte dans Visual Studio, vous trouverez deux projets intégrés à la solution. Le premier est votre projet Evergine, l’autre est le projet iOS, qui référence le projet Evergine.

 

 

Pour déployer correctement votre application Evergine sur votre appareil iOS, vous devez renseigner les informations suivantes :

  • Configurez les propriétés de signature du bundle iOS (profils de provisionnement, certificats de développement, etc.)
  • Vérifiez le fichier Info.plist et définissez l’Application Bundle ID afin qu’il corresponde à vos profils de provisionnement.
  • Assurez-vous d’avoir associé votre Visual Studio à un Mac.

Projets futurs

Maintenant que la prise en charge d’iOS est intégrée à Evergine, nous avons les yeux tournés vers l’avenir. Nous nous engageons à améliorer notre intégration de Metal afin d’exploiter encore davantage les capacités de ce puissant framework. Voici un aperçu de nos projets :

Apple Vision Pro

L’avenir immédiat des applications immersives et de l’informatique spatiale passe par le très attendu Apple Vision Pro. Notre équipe en est consciente et travaille à amener Evergine sur cette nouvelle plateforme exceptionnelle.

Réalité augmentée avec ARKit

Grâce à la prise en charge d’ARKit dans Evergine, les développeurs pourront créer des expériences de réalité augmentée immersives qui fusionnent harmonieusement le contenu numérique et le monde réel. Cela ouvre un monde de possibilités, des scénarios interactifs aux applications concrètes comme la visualisation en architecture d’intérieur ou l’éducation.

Conclusion

L’arrivée de la prise en charge d’iOS dans la dernière release d’Evergine marque une avancée significative dans notre mission : fournir aux développeurs des outils et des technologies de pointe. Grâce aux performances remarquables de Metal, aux capacités de .NET et à un profil iOS dédié, les développeurs peuvent désormais créer des applications exceptionnelles et visuellement captivantes pour les appareils iOS. Pour la suite, la prise en charge d’iOS dans Evergine regorge de potentiel, avec des perspectives enthousiasmantes comme le Vision Pro et ARKit à l’horizon.

David avila
Auteur
David Ávila
Plain Concepts Research