sprite-kit – SpriteKit中的顶点着色器

是否可以在SpriteKit中运行带有顶点和片段着色器的openGL着色器程序?

似乎只有片段着色器可用.

SceneKit通过SCNProgram类提供它

最佳答案 实际上,顶点着色器不仅仅适用于变换和投影.最有用的功能之一是在每个顶点进行计算,然后让硬件插入结果,通过“变化”变量将它们传递给片段着色器. (这比尝试计算片段着色器本身中的插值更有效.)

最简单的例子是gouraud着色:您可以在顶点着色器中计算光照,并让硬件插入这些值,以便在片段着色器中使用.这比计算后者的照明效率高得多. (但是,这只是一个简单的例子.还有更多有用的例子.例如,许多模糊着色器使用这种技术,因为它效率更高.)

cocos2d库支持顶点着色器(这些技术可以与它一起使用.)所以它不像是没有人使用的东西.

目前在SpriteKit中可能无法使用顶点着色器.使用SceneKit对象(可以无缝嵌入SpriteKit场景中)可能会有更好的运气.

点赞