watchOS 3 支持 SCNLightingModelPhysicallyBased

watchOS 3 support for SCNLightingModelPhysicallyBased

SCNLightingModelPhysicallyBased是与iOS10一起引入的新光照模型。使用时,不必在SceneKit场景中放置灯光,可以使用环境光照代替。你可以试试这个 open source project.

它在我的 iPhone 6 plus 运行ning iOS 10 上运行良好。但是,它在我的 watchOS 3 Apple Watch 上不起作用。我相信这是因为手表 运行 是 OpenGL 渲染 API 而不是 Metal 渲染 API。

似乎无法强制手表在 WKInterfaceSCNScene 上使用金属渲染 API。

documentation for SCNLightingModelPhysicallyBased 表示 watchOS 3 支持它。

怎样才能让手表达到运行金属渲染?

来自 Existing Frameworks Now Available in watchOS 下的 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.