Case study

Migrating a Mobile SDK from OpenGL to Metal API

We replaced deprecated OpenGL code with the Metal API to protect investment in a mobility platform rendering engine

AutomotiveLocation Based Services

Project highlights

  • Migrated OpenGL code in an iOS SDK to the Metal API
  • Added functionality for 3D graphics Apple Metal API
  • Boosted a mobile SDK with the additional graphics performance of the Metal API
Industry:
Automotive
Market:
Global
Team size:
10 engineers
Cooperation:
2019 – present

Business challenge

Back in 2016, a world-known leader in navigation and location-based solutions partnered with Intellias to develop a mobile SDK for creating Android and iOS applications with advanced location-based services at their heart. They offered this SDK as two independent products (for iOS and Android) that share the same location-based services and provide advanced location features including routing capabilities, interactive maps, advanced search through a broad set of geographical content, and much more. Built on OpenGL, the SDK features sophisticated functionality for rendering 3D and 2D vector maps and 3D building models.

However, in 2018, Apple presented their new 3D graphics iOS Metal API and announced that they would stop supporting OpenGL, which meant that applications created using our client’s mobile SDK may not work on future Apple devices running the latest versions of iOS. Our client challenged us to eliminate the risks posed by OpenGL support being removed from iOS devices.

Migrating a Mobile SDK from OpenGL to Metal API

Solution delivered

Our client had an ambitious goal to deliver the updated mobile SDK by the official launch of iOS 14 and iOS Metal API. To adjust our solution to emerging technologies on time, we assembled a dedicated team of software, DevOps, and QA engineers headed by an experienced project manager.

The project started with a thorough investigation of the optimal solution. To address the client’s evolving needs, our team suggested two approaches to enable a smooth transition to the iOS Metal API:

  • Use MoltenGL, a third-party solution for transforming graphics for the iOS platform.
  • Replace the deprecated OpenGL code with Apple Metal API.

The first approach allowed us to adapt our client’s mobile SDK to Metal with no effort. However, this workaround presupposed that end users would pay additional fees for MoltenGL services, making the use of our client’s mobile SDK rather expensive. In view of this, the client decided that migrating the iOS part of OpenGL code to Metal would be more cost-effective (for both their company and their customers), reliable, and future-proof.

The major argument for migration was that applications based on the client’s mobile SDK would stop working on future versions of iOS if Apple removed support for OpenGL. In addition, the Metal API empowers iOS applications with additional graphics performance.

Business outcome

Timely migration of our client’s mobile SDK to Metal, a proprietary 3D graphics API by Apple, allowed our client to avoid a situation when iOS applications built with their mobile SDK don’t work as expected or are not compatible with the App Store. More importantly, iOS applications built on our client’s new mobile SDK will be able to boast the power of Metal.

As a result of migrating the iOS part of OpenGL code to the Metal API, we can provide iOS users with support for the most valuable features offered by the mobile SDK, including:

  • Terrain shading
  • Areas, building footprints, and water bodies
  • Roads, railroads, and walkways
  • Route and guidance arrows
  • Extruded buildings
  • Landmarks
  • Labels and icons
  • Traffic and transit info
  • Venues
  • Junction and maneuver views
  • Billboards
  • Satellites
  • Augmented reality
How can we help you?

Get in touch with us. We'd love to hear from you.

    I give consent to the processing of my personal data given in the contact form above as well as receiving commercial and marketing communications under the terms and conditions of the Intellias Privacy Policy.

    We use cookies to bring best personalized experience for you.
    By clicking “Accept” below, you agree to our use of cookies as described in the Cookie Policy

    Thank you for your message.
    We will get back to you shortly.