September 28, 2023

Evergine expands to iOS with Metal API

In the next upcoming Evergine release, we are thrilled to announce the addition of iOS support, marking a significant milestone in the development of our graphic engine. This long-awaited feature expands the horizons of Evergine, bringing the power and flexibility of our engine to iOS developers, enabling them to create high-performance, visually stunning applications for Apple’s mobile platform. In this article, we’ll delve into the key aspects of this update, focusing on the integration of Metal, our new Metal graphic context, and the prospects of iOS support. 

iOS Support in Evergine 

 The inclusion of iOS support in Evergine is a momentous step forward for our engine. iOS has established itself as a dominant platform in the mobile world, and the demand for high-quality, performant graphics in iOS applications has never been greater. With this release, we answer the call from countless developers looking to harness the capabilities of Evergine for their iOS projects. 

Bringing iOS to C# 

To seamlessly integrate iOS support into Evergine, we have utilized the latest features from .NET 7.0 and the upcoming .NET 8.0. This enables us to leverage the power of C# in developing iOS applications. Thanks to the net7.0-ios target framework used in our Evergine launcher, we can reach the entire iOS SDK, making it easier for the user to develop cross-platforms graphic applications.  

For further details about .NET and iOS, I recommend reading more here 

Metal API 

One of the key enablers of iOS support in Evergine is the integration of the Metal graphics API. Metal is Apple’s proprietary graphics API that provides a high-performance, low-level interface for rendering on iOS and macOS devices. The advantages of utilizing Metal over the previously supported OpenGL are substantial.  

In this Evergine release we’re introducing a new graphics backend: Evergine.Metal, that provides a Metal API implementation of the Evergine abstract low-level graphics API, akin to others like DirectX11, DirectX12, Vulkan, OpenGL and WebGL (with the upcoming WebGPU to be supported in future plans). 

First, Metal is optimized for Apple hardware, providing direct access to the GPU. This results in significantly improved rendering performance, reduced overhead, and enhanced visual fidelity. Developers can take full advantage of the Metal framework’s efficient multithreading capabilities, which are crucial for delivering smooth and responsive graphics on iOS devices. 

Furthermore, Metal offers advanced features like GPU compute tasks, allowing developers to push the boundaries of GPU computation on iOS beyond traditional rendering. With Metal’s extensive capabilities, Evergine users can create visually stunning and responsive applications that catch the high standards of Apple device users. 

New iOS Template with Visual Studio 

In this new Evergine release, you’ll discover a brand-new iOS template project available through the Evergine Launcher. 

Right now, this template is designed to be opened in Visual Studio for Windows, and to be deployed in your iOS device using the Pair to Mac feature. You can find useful information here. 

To access the iOS solution of your application, simply open it from the “File” menu in Evergine Studio.  

 

Once your Evergine iOS solution is opened in Visual studio, you’ll find two projects integrated into the solution. The first one is your Evergine project, while the other is the iOS project, which references the Evergine project. 

 

 

To deploy successfully your Evergine application to your iOS device, you need to properly set the following information: 

  • Setup the iOS bundle signing properties (provisioning profiles, development certificates, etc…) 
  • Check the Info.plist and set the Application Bundle ID, to match your provisioning profiles. 
  • Be sure that you have paired your Visual Studio to a Mac. 

Future Plans 

 With iOS support now integrated into Evergine, we have set our sights on the future. We are committed to enhancing our Metal integration, further leveraging the capabilities of this powerful framework. Here’s a glimpse of our future plans: 

Apple Vision Pro 

The immediate future of immersive applications and spatial computing goes through the anticipated Apple Vision Pro. Our team is aware of this and are working to bring Evergine to this amazing new platform. 

Augmented Reality with ARKit 

By incorporating ARKit support in Evergine, developers will gain the ability to create immersive augmented reality experiences that seamlessly blend digital content with the real world. This opens up a world of possibilities, from interactive scenarios to practical applications like interior design visualization and education. 

Conclusion 

The inclusion of iOS support in Evergine’s latest release represents a significant advancement in our mission to provide developers with cutting-edge tools and technologies. With Metal’s remarkable performance capabilities, .NET capabilities, and a dedicated iOS profile, developers now have the power to create exceptional, visually captivating applications for iOS devices. As we look ahead, the future of Evergine’s iOS support is brimming with potential, with exciting prospects like Vision Pro and ARKit on the horizon. 

David avila
Author
David Ávila
Plain Concepts Research

Wait! Don't leave yet.

Sign up for our monthly newsletter to be updated on all the latest news, case studies, and more.

We don't send spam and you can unsubscribe at any time.