macos - 强制 SCNView 使用 OpenGL

标签 macos opengl scenekit metal

当使用 Xcode 7 并创建一个新的 SceneKit OS X 项目时,它似乎默认为 SCNView 使用 Metal。

如果我在 Xcode 7 中创建一个新的游戏项目后尝试这样做:

var context = gameView.context

结果为零。该 View 使用的是 Metal 而不是 OpenGL。

但是,在 Xcode 6.4 中创建相同的内容时,上下文会像预期的那样存在。

如何强制我的 SCNView 使用 OpenGL 而不是 Metal?

最佳答案

创建 SCNView 时,您可以选择在初始化程序中设置渲染器:

https://developer.apple.com/library/prerelease/ios/documentation/SceneKit/Reference/SCNView_Class/index.html#//apple_ref/occ/instm/SCNView/initWithFrame:options :

这些是您可用的选项,Metal 或 OpenGL ES 2.0(3.0 可能会稍后推出):

https://developer.apple.com/library/prerelease/ios/documentation/SceneKit/Reference/SCNSceneRenderer_Protocol/index.html#//apple_ref/c/tdef/SCNRenderingAPI

因此设置为 SCNRenderingAPIOpenGLES2 会得到你想要的,强制 OpenGL ES 2.0 渲染的 SceneKit View

关于macos - 强制 SCNView 使用 OpenGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32226706/

相关文章:

c++ - 如何使立方体在 Opengl、C++ 中沿 Y 轴平滑下落

swift - 将背景模糊添加到 SKSpriteNode(或 SKScene)

macos - Cache Brew使用travis ci构建

python - 什么替代了 OSX 上 Python 中现已弃用的 Carbon.File.FSResolveAliasFile?

linux - 从 OS X 交叉编译到 Linux

c++ - Win32 透明全屏仅在窗口大小溢出桌面时有效

python - 将输入发送到劣质 python 进程时 Mac 变慢

c++ - Multisample framebuffer 仅与 renderbuffer 不完整

swift - 通过将 base 保持在相同的 y 来动画 SCNBox 高度

ios - 如何在 SceneKit 中创建动画纹理? "fallback on default program"错误