如何在SceneKit

时间:2017-06-19 07:55:39

标签: ios swift scenekit metal

我有一个Metal支持的SceneKit项目,我想在每帧画一条在CPU上修改过的曲线。这似乎应该是一项简单的任务;我多次在OpenGL中完成的一次。

类似的东西:

array_of_points[0].x = 25
array_of_points[0].y = 35
upload_array_to_gpu()
render_frame()

似乎无法修改SCNNode的SCNGeometrySource。重新创建和设置node.geometry可以工作,但是与场景中的其他节点相比,位置滞后/抖动。每帧重新创建整个节点也会滞后。

一种可能的途径可能是几何着色器修饰符,但我仍然必须以某种方式传递我的cpu计算曲线位置。

另一种选择是直接使用金属API。虽然这种方法似乎需要更多代码,但我无法找到太多关于将SceneKit与Metal混合的信息。

我也尝试将preferredRenderingAPI设置为OpenGL,但它并没有改变renderingAPI。

0 个答案:

没有答案