1

SCNLightingModelPhysicallyBased is a new lighting model introduced with iOS 10. When you use it, you don't have to place lights in a SceneKit scene, you can use environmental lighting instead. You can try it with this open source project.

It works great on my iPhone 6 plus running iOS 10. However, it doesn't work on my Apple Watch with watchOS 3. I believe this is because the watch runs the OpenGL rendering API rather than the Metal rendering API.

There seems to be no way to force the watch to use the Metal rendering API on a WKInterfaceSCNScene.

The documentation for SCNLightingModelPhysicallyBased says that it is supported in watchOS 3.

How can I get the watch to run Metal rendering?

Ben Morrow
  • 832
  • 6
  • 17

1 Answers1

2

from the watchOS release notes under Existing Frameworks Now Available in watchOS:

SceneKit in watchOS supports most of the features you use on other platforms, including lighting and shading, animation, physics, and particle systems, with the following exceptions:

  • 3D spatial audio implemented using SCNAudioSource or SCNAudioPlayer. Instead, use playAudioSource:waitForCompletion: or the WatchKit sound or haptic APIs.
  • Custom Metal or OpenGL shader programs implemented using SCNProgram or SCNTechnique. Instead, customize SceneKit rendering with shader modifiers (to learn more, see SCNShadable).
  • Core Image filters for node rendering implemented using the SCNNode filters property. Instead, customize rendering with shader modifiers (see SCNShadable).
  • The physically-based material and lighting and HDR camera effects introduced in iOS 10, tvOS 10, and OS X v10.12.
Community
  • 1
  • 1
mnuages
  • 13,049
  • 2
  • 23
  • 40
  • So there is no way to use Metal in a WatchOS App? –  Jun 02 '21 at 23:39
  • I can't find anything about doing a Metal rendering on the watch but it seems to be possible. https://twitter.com/stroughtonsmith/status/1047188165369495552 –  Jun 02 '21 at 23:51