Можете ли вы использовать несколько пиксельных (фрагментарных) шейдеров в одной программе?

StackOverflow https://stackoverflow.com/questions/2344265

Вопрос

Я хотел бы иметь два пиксельных шейдера;первый делает одно, а затем следующий делает что-то другое.Возможно ли это, или я должен упаковать все в один шейдер?

Это было полезно?

Решение

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

main() {
    callToShaderObject1()
    callToShaderObject2()
}

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top