Использование расширений .vert и .frag в Apple 'OpenGL Shader Builder' - PullRequest
3 голосов
/ 28 февраля 2012

Я только что обнаружил OpenGL Shader Builder в инструментах разработчика Apple. Это кажется очень полезным. Единственная проблема заключается в том, что он настаивает на использовании * .vs и * .fs в диалоге сохранения, где я обычно использую * .vert и * .frag соответственно для моих расширений шейдерных файлов. Есть ли способ изменить эти значения по умолчанию? (это может включать хакерское решение)

1 Ответ

2 голосов
/ 22 октября 2012

Сначала я использовал свой собственный препроцессор #include (очень просто сделать!)

Сделан шейкер-пустышка:

test.vert

#include test.vs

test.frag

#include test.fs

Это полусвратный хак, и вы определенно не хотите, чтобы он включался в svn / git / что угодно, если вы делитесь кодом, но замечательно, когда вам нужно изменить настройки при настройке.

По мере того, как все больше людей использовали несколько разных расширений файлов, я добавлял больше способов загрузки шейдеров.

LoadShader("MyShader", <List of preprocessors>)
LoadShader("vertex shader", "fragment shader", ... , <List of preprocessors>)

(здесь упрощенно. В действительности передается структура)

Первая функция будет делать следующее:

  • Текстовые файлы с [".vert",".vs".. etc] для вершинного шейдера
  • Текстовые файлы с [".frag",".fs".. etc] для фрагмента шейдера
  • и т.д ..

Пользователь может определить, какие расширения файлов он хочет поддерживать.

Вторая функция просто использует точные имена файлов. В первой функции возможные комбинации ограничены препроцессорами. Во втором варианте вы можете комбинировать любой файл шейдера, который вам нужен, а также вносить изменения в препроцессоры.

Это, конечно, упрощенно, но показывает общую идею.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...