问题:是否有办法将着色器修饰符应用于特定的SCNMaterialSCNGeometry(因为这些是采用SCNShadable协议的唯一类),而是应用于一组SCNNodes,例如应用于所选子节点的所有子节点?

问题我试图解决:我有着色器代码,它通过统一参数计算来剪辑(discard s 片段)几何。实际上,它可以按轴坐标或随机“块”体积的形式剪切模型。

我没有在SceneKit找到任何有关剪辑模型的信息,所以我决定坚持使用着色器。将着色器修改器应用于每个节点似乎不正确。然而,它确实在模拟器上工作,但它不适用于真实设备,因为它超出了资源限制。我也试过了SCNTechnique但是我发现它看起来很适合 post-processing 而不是处理片段渲染。

将着色器修改器应用于场景的rootNode将是一种去恕我直言的方法,但我不确定它是否可能。我是否想念在 SceneKit 中使用着色器?或者有更好的方法来执行参数几何裁剪?