如何将.fsh / .vsh着色器文件添加到Xcode中,以便将它们自动添加到Copy Bundle Resources阶段?

时间:2012-01-07 12:00:54

标签: xcode4 resources bundle shader

每当我向项目的资源添加一个新的.fsh或.vsh OpenGL ES 2.0着色器文件时,该文件就会被添加到不属于它的Compile Sources构建阶段。然后我必须从该阶段手动删除它,并手动将其添加到Copy Bundle Resources构建阶段。

有什么方法可以让Xcode自动将扩展名为.fsh和.vsh的文件添加到Copy Bundle Resources构建阶段吗?

或者是否可以创建与将着色器添加到Copy Bundle Resources构建阶段具有相同效果的构建规则?

我更喜欢适用于Xcode项目/工作区的所有用户的解决方案,而不是每个Xcode用户必须单独播放的设置或系统更改。

2 个答案:

答案 0 :(得分:9)

以下是我找到的解决方法。如果有人有任何其他解决方案,我仍然会欣赏答案。

您可以自动将着色器放入复制包资源构建阶段,只需将所有着色器放在公共文件夹(或文件夹树)中即可。我将文件夹命名为“着色器”。然后,在添加着色器文件夹时,选择为任何添加的文件夹创建文件夹引用

作为文件夹引用,文件被Xcode自动假定为Bundle Resources。在进行发布构建之前,您只需要注意不要将任何不需要的文件放入该文件夹中,分别清理该文件夹。同时加载着色器需要使用着色器文件的路径,即“Shaders / Examples / Blur.fsh”。

答案 1 :(得分:8)

我的解决方法是转到文件>新文件>其他>清空文件并将其命名为 shader.vertsh shader.fragsh

我猜Xcode会自动添加点3/4扩展名的文件来编译阶段。

如果您缺少语法突出显示,请将文件类型更改为“OpenGL着色语言源”: Xcode change file type