Можете ли вы использовать несколько пиксельных (фрагментарных) шейдеров в одной программе?
-
23-09-2019 - |
Вопрос
Я хотел бы иметь два пиксельных шейдера;первый делает одно, а затем следующий делает что-то другое.Возможно ли это, или я должен упаковать все в один шейдер?
Решение
Вы можете сделать это, напримервыполняя вызовы функций из главной точки входа к функциям, которые реализованы в различных шейдерных объектах.
main() {
callToShaderObject1()
callToShaderObject2()
}
каждая из этих функций callToShaderObject может находиться в разных шейдерных объектах, но все объекты должны быть присоединены и связаны в одной программе, прежде чем ее можно будет использовать.
Другие советы
Они не могут выполняться одновременно, но вы можете свободно использовать разные шейдеры для разной геометрии или выполнять рендеринг в несколько проходов с использованием разных шейдеров.
Не связан с StackOverflow