Как добавить шейдерные файлы .fsh/.vsh в Xcode, чтобы они были автоматически добавлены в раздел "Копировать ресурсы Bundle"?
Всякий раз, когда я добавляю в свои ресурсы проекта новый файл шейдера OpenGL ESF.fsh или .vsh OpenGL, файл добавляется в фазу сборки источников компиляции, где он не принадлежит. Затем я должен вручную удалить его с этой фазы и вручную добавить его в фазу сборки ресурсов копирования.
Можно ли каким-либо образом указать Xcode для добавления файлов с расширением .fsh и .vsh автоматически в фазу сборки ресурсов копирования Bundle?
Или можно создать правило сборки, которое имеет тот же эффект, что и добавление шейдеров в фазу сборки ресурсов копирования Bundle?
Я бы предпочел решение, которое работает для всех пользователей проекта/рабочего пространства Xcode, вместо того, чтобы изменять настройки или систему, каждый пользователь Xcode должен будет играть индивидуально.
Ответы
Ответ 1
Мое обходное решение заключается в том, что я перехожу в File > New File > Others > Empty files и назову их как shader.vertsh и shader.fragsh.
Я думаю, что Xcode автоматически добавляет файлы с расширениями dot 3/4 для компиляции фазы.
И если вам не хватает подсветки синтаксиса, измените тип файла на "OpenGL Shading Language Source":
![Xcode change file type]()
Ответ 2
Ниже приведено обходное решение. Если у кого-нибудь есть другие решения, я все равно буду признателен за ответ.
Что вы делаете, чтобы получить шейдеры в фазе сборки Скопировать Bundle Resources автоматически, просто поместить все шейдеры в общую папку (или дерево папок). Я назвал папку "Shaders". Затем при добавлении папки Shaders выберите Создать ссылки на папки для любых добавленных папок.
В качестве ссылок на папки файлы автоматически предполагаются Ресурсами Bundle по Xcode. Вам просто нужно быть осторожным, чтобы не помещать какие-либо нежелательные файлы в эту папку, а также очищать папку до создания сборки. Также для загрузки шейдеров требуется использовать путь к шейдерным файлам, то есть "Shaders/Examples/Blur.fsh".