Предположим, что у нас есть разные шейдерные программы для разных объектов в игре. Например, модель игрока имеет шейдер, который управляет скелетной системой (умножение матриц костей и т. Д.), Или частица имеет шейдер для сверкающих эффектов, стена имеет отображение параллакса и т. Д.Есть ли способ использовать GLSL-программы в качестве фильтров?
Но что, если я хочу добавить туман в игра, которая должна затрагивать каждый из этих объектов? Например, у меня есть комната, в которой будет красный туман, следует ли мне изменить КАЖДУЮ программу glsl, чтобы иметь код тумана или есть ли способ сделать глобальные фильтры? Должен ли я менять каждую программу glsl, когда хочу добавить функцию?
Я новичок в GLSL/Open GL, но ... вы не должны использовать фрагмент шейдера в пост процесса и играть с буфером глубины? Я почти уверен в том, что вам не нужно модифицировать существующие шейдеры. –
Но могу ли я использовать разные программы фрагментов одновременно? – deniz
Да, и в первый раз я это сделал ... На следующей неделе ^^ Думаю, вы можете нарисовать невидимый полноэкранный квад, на котором вы применяете шейдеры пост-процесса. (Опять же, я еще не тестировал его сам) –