SCNTechniqueをSCNViewにセットすると、次のようなエラーが出て真っ暗な画面になる事がある。
[SceneKit] Error: can not render without programs, using default
???という感じでめっちゃハマった。
これはSCNViewのRendering APIがOpenGLESなのにMetalのシェーダを適用しようとしていたり、逆にMetalなのにOpenGL ESのシェーダを適用しようとするとなる。
コードでRenderingAPIを指定する場合は初期化時に指定
SCNView(frame: .zero, options: [SCNView.Option.preferredRenderingAPI.rawValue: NSNumber(value: SCNRenderingAPI.openGLES2.rawValue)])
Storyboardで指定する場合はインスペクタから選択する事ができる。