Re[3]: Вопрос по шейдерам
От: Phoenics Россия https://sourceforge.net/projects/phengine
Дата: 09.04.08 10:30
Оценка: 2 (1)
Здравствуйте, Аноним, Вы писали:

А>Можно ли сделать так, чтобы выходные данные одного шейдера пошли на вход другого? Например, у меня есть три пиксельных шейдера invert, brightness, blur и соответствующие им pass`ы pass0, pass1, pass2. Если я выполняю только первый и третий pass, то на выходе — изображение с инвертированными цветами и повышенной яркостью, если я выполняю все три, то изображение ещё и моется ко всему.


А>Спасибо.


Да можно сделать так что бы данные из одного шейдера попали в другой. Для этого нужно установить render target — и производить рендеринг в текстуру. Т.е. суть в том что сначала вы рисуете первый проход invert не сразу в буфер цвета, а в текстуру. Затем во втором проходе brightness вы снова устанавлиаете рендер таргет в текстуру (не знаю можно ли в директе и вашем случае использовать туже самую что и в первом проходе), но текстур от первого прохода использьзуете как обычную текстуру (даннеы для шейдера). И наконец в третьем проходе blur вы уже производите рендеринг в буфер цвета, но текстур получившуюся после прохода brightness используете как обычную текстуру. Так работают большиснтво многопроходных техник и фильтров
---=== С наилучшими пожеланиями, Phoenics ===---
_
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.