Управление шейдерами - PullRequest
       2

Управление шейдерами

3 голосов
/ 24 января 2012

Я изучаю GLSL, чтобы управлять им в своем IOS & android C ++ engine. Я получаю много документации о синтаксисе и программировании GLSL, но мне нужны некоторые уроки о том, как управлять им в полной сцене (Как применить шейдер только к определенному объекту сцены? Как объединить несколько эффектов на объекте?)

У вас есть ссылки или ссылки на книги, чтобы отправить мне?

1 Ответ

4 голосов
/ 24 января 2012

Как применить шейдер только к определенному объекту сцены?

Это так же, как вы применяете текстуру к определенному объекту.Вы звоните glUseProgram с программой, которую хотите использовать.Любые последующие команды рендеринга будут использовать эту программу, пока не встретится другой вызов glUseProgram.

Как объединить несколько эффектов на объект?

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

Но в общем случае, если вы хотите объединить несколько "эффекты ", вам нужно написать новый шейдер, в котором есть эти эффекты.

...