在 Scenekit 中绘制轴图标
Draw axis icon in Scenekit
我正在尝试在从 SCNView
子类化的视口角绘制一个小图标,就像大多数 CAD 程序中存在的那样:
我考虑过两种选择:
- 使用 SceneKit,并使用嵌套
SCNNode
s 进行某种转换以将图标固定在角落。
- 使用 OpenGL 和 this 之类的东西来达到预期的效果。
第一个选项似乎可行,但我无法全神贯注于所需的适当转换。
第二个选项更接近我已经在另一个 OpenGL-based 应用程序中尝试过的选项,但是由于我在 SceneKit 方面的经验有限,我不知道如何混合 OpenGL 和 SceneKit 渲染。唯一的可能性似乎是 SCNNodeRendererDelegate
协议的 -renderNode:renderer:arguments:
方法,在我的情况下这似乎有点矫枉过正,因为如果我使用它,我实际上必须自己完成所有渲染。
有什么想法吗?
这可以使用纯 OpenGL 代码完成。
在 -renderer:didRenderScene:atTime:
回调中,只需在视图 space 中绘制 3 个轴,以便它们始终位于同一位置。
我正在尝试在从 SCNView
子类化的视口角绘制一个小图标,就像大多数 CAD 程序中存在的那样:
我考虑过两种选择:
- 使用 SceneKit,并使用嵌套
SCNNode
s 进行某种转换以将图标固定在角落。 - 使用 OpenGL 和 this 之类的东西来达到预期的效果。
第一个选项似乎可行,但我无法全神贯注于所需的适当转换。
第二个选项更接近我已经在另一个 OpenGL-based 应用程序中尝试过的选项,但是由于我在 SceneKit 方面的经验有限,我不知道如何混合 OpenGL 和 SceneKit 渲染。唯一的可能性似乎是 SCNNodeRendererDelegate
协议的 -renderNode:renderer:arguments:
方法,在我的情况下这似乎有点矫枉过正,因为如果我使用它,我实际上必须自己完成所有渲染。
有什么想法吗?
这可以使用纯 OpenGL 代码完成。
在 -renderer:didRenderScene:atTime:
回调中,只需在视图 space 中绘制 3 个轴,以便它们始终位于同一位置。