在多个节点上应用SceneKit着色器修改器

时间:2018-09-06 10:08:03

标签: ios shader scenekit

问题: 是否有一种方法不仅可以将着色器修改器应用于特定的SCNMaterialSCNGeometry(因为这是唯一采用SCNShadable协议的类),还可以应用于一组SCNNodes,例如到选定一个子节点的所有子节点?

问题我正在尝试解决: 我有着色器代码,该着色器代码通过对统一参数进行计算来裁剪(discard片段)几何。实际上,它可以按轴坐标或均匀传递的随机“盒”体来裁剪模型。

SceneKit中找不到有关裁剪模型的任何信息,因此我决定坚持使用着色器。将着色器修改器应用于每个节点似乎不正确。但是,它确实可以在模拟器上运行,但不能在实际设备上运行,因为它超出了资源限制。我也尝试过SCNTechnique,但是我发现它似乎适合于后处理,而不是处理片段渲染。

将着色器修改器应用于场景的rootNode将是恕我直言的一种方法,但我不确定是否可行。 我是否错过了一些在SceneKit中使用着色器的东西?还是有更好的方法来执行参数几何裁剪?

0 个答案:

没有答案