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

Lea*_*s2D 10 resources shader bundle xcode4

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

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

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

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

Lea*_*s2D 9

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

如何将着色器自动放入Copy Bundle Resources构建阶段,只需将所有着色器放在公共文件夹(或文件夹树)中即可.我将文件夹命名为"着色器".然后在添加Shaders文件夹时,选择为任何添加的文件夹创建文件夹引用.

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


chu*_*guy 8

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

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

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