# Add support for Apple Metal rendering for macOS and iOS

**URL:** https://discourse.vtk.org/t/add-support-for-apple-metal-rendering-for-macos-and-ios/1849
**Category:** Development
**Created:** [October 2, 2019, 2:48pm UTC](https://discourse.vtk.org/t/add-support-for-apple-metal-rendering-for-macos-and-ios/1849 "2019-10-02T14:48:47Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![hcwiley](https://discourse.vtk.org/user_avatar/discourse.vtk.org/hcwiley/32/638_2.png) [@hcwiley](https://discourse.vtk.org/u/hcwiley)
#### Post date: [October 2, 2019, 2:48pm UTC](https://discourse.vtk.org/t/add-support-for-apple-metal-rendering-for-macos-and-ios/1849/1 "2019-10-02T14:48:47Z")

</div>

Has there been any discussion internally at Kitware about Apple’s move as of WWDC 2018 to not support OpenGL any more?

> **[The end of OpenGL support, plus other updates Apple didn’t share at the keynote](https://arstechnica.com/gadgets/2018/06/the-end-of-opengl-support-other-updates-apple-didnt-share-at-the-keynote/)**
>
> Some smaller or more technical changes were not mentioned in the keynote.

Looks like there needs to be a Metal backed rendering system to support this move. I would really like to hear thoughts from Kitware on how this will be handled. Happy to help where we can!

---

<div class="post-metadata">

### Author: ![seanm](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/s/a88e4f/32.png) [@seanm](https://discourse.vtk.org/u/seanm)
#### Post date: [October 2, 2019, 4:47pm UTC](https://discourse.vtk.org/t/add-support-for-apple-metal-rendering-for-macos-and-ios/1849/2 "2019-10-02T16:47:12Z")

</div>

Perhaps the best route would be for VTK to adopt Vulkan, and support macOS via MoltenVK:

[https://en.wikipedia.org/wiki/Vulkan\_(API)#MoltenVK](https://en.wikipedia.org/wiki/Vulkan_(API)#MoltenVK)

I too would be interested to know if Kitware has any plans in this area.

Sean

---

<div class="post-metadata">

### Author: ![lassoan](https://discourse.vtk.org/user_avatar/discourse.vtk.org/lassoan/32/50_2.png) [@lassoan](https://discourse.vtk.org/u/lassoan)
#### Post date: [October 2, 2019, 5:14pm UTC](https://discourse.vtk.org/t/add-support-for-apple-metal-rendering-for-macos-and-ios/1849/3 "2019-10-02T17:14:16Z")

</div>

See [this discussion](https://discourse.slicer.org/t/apple-to-deprecate-opengl-in-osx-10-14-mojave/3075/6) including Kitware people reacting to the news at the time.

It could be nice to get an update from Kitware on this topic.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.vtk.org/user_avatar/discourse.vtk.org/mwestphal/32/19_2.png) [@mwestphal](https://discourse.vtk.org/u/mwestphal)
#### Post date: [October 3, 2019, 3:34am UTC](https://discourse.vtk.org/t/add-support-for-apple-metal-rendering-for-macos-and-ios/1849/4 "2019-10-03T03:34:23Z")

</div>

Vulkan + MoltenVK is the way imo.

Implementing the Vulkan rendering will not be an easy task though.

---

<div class="post-metadata">

### Author: ![Dave\_DeMarle](https://discourse.vtk.org/user_avatar/discourse.vtk.org/dave_demarle/32/6_2.png) [@Dave\_DeMarle](https://discourse.vtk.org/u/Dave_DeMarle)
#### Post date: [October 3, 2019, 1:21pm UTC](https://discourse.vtk.org/t/add-support-for-apple-metal-rendering-for-macos-and-ios/1849/5 "2019-10-03T13:21:59Z")

</div>

I agree with Mathieu and Sean, vulkan + moltenvk for the win.

Our rough plan is to build a prototype on top of the SceneGraph+RayTracing structure we developed for OSPRay, ie SceneGraph+Vulkan, and use that to discover what we need to do. Whether we keep that architecture or not is undecided.

We have not started implementing anything yet to my knowledge.

---

<div class="post-metadata">

### Author: ![hcwiley](https://discourse.vtk.org/user_avatar/discourse.vtk.org/hcwiley/32/638_2.png) [@hcwiley](https://discourse.vtk.org/u/hcwiley)
#### Post date: [October 3, 2019, 2:03pm UTC](https://discourse.vtk.org/t/add-support-for-apple-metal-rendering-for-macos-and-ios/1849/6 "2019-10-03T14:03:19Z")

</div>

@lassoan @mwestphal @Dave_DeMarle thanks for your responses. I hadn’t checked back in on MoltenVK in awhile and didn’t realize they had opened it with a free implementation GitHub, that’s good news!

I’ll be happy to test, break, and fix whenever y’all start working on the Vulkan API.

Cheers,  
Cole

---

<div class="post-metadata">

### Author: ![cesss](https://discourse.vtk.org/user_avatar/discourse.vtk.org/cesss/32/1418_2.png) [@cesss](https://discourse.vtk.org/u/cesss)
#### Post date: [November 24, 2019, 9:06pm UTC](https://discourse.vtk.org/t/add-support-for-apple-metal-rendering-for-macos-and-ios/1849/7 "2019-11-24T21:06:35Z")

</div>

I also believe Vulkan is the way to go for a new multiplatform standard graphics library. I develop on Mac, but I will **not** write a single line of Metal in my whole life, because I learnt the benefits of using standards a long time ago. Apple was wise when pushing OpenGL and OpenCL, but they missed the point when developing Metal instead of adopting Vulkan. Fortunately, MoltenVK works great on all the Vulkan demos I tried on Mac, so count my vote for Vulkan+MoltenVK.

BTW, I find the following blog post interesting (from the Ogre developers), because they give some interesting clues: [https://www.ogre3d.org/2019/11/05/vulkan-progress-report](https://www.ogre3d.org/2019/11/05/vulkan-progress-report)
