Есть ли способ комбинировать шейдеры?Комбинированные шейдеры с directx 11
Скажем, я хочу иметь 4 модели:
- Один только с текстурой оказанной.
- Один с текстурой и основным световым эффектом.
- Один визуализации с скелетной анимацией.
- Одно изображение с скелетной анимацией и основным световым эффектом.
Единственный способ, которым я знаю это сделать, - создать 4 пиксельных и вершинных шейдерных файла. Но есть ли у меня еще 5 эффектов, которые я хочу добавить, я должен создать больше файлов, и если я хочу добавить все больше и больше эффектов? Я сомневаюсь, что для каждого эффекта я должен создать еще один файл для каждой возможности. Я знаю, что для света я могу установить его непосредственно в других файлах, а когда я не хочу использовать свет, я устанавливаю его в 1.0f, чтобы цвет не менялся. Но если я хочу иметь больше эффектов, у меня будет 20 переменных в моем шейдере, и разве это бесполезно, если я их не использую? Есть ли другой способ сделать это?
Заранее спасибо, я старался быть таким понятным, как мог, извините за мой английский.
Да, это так. К счастью, мне действительно не нужны какие-то шейдеры, я просто задавался вопросом, каков был общий способ сделать это, но после прочтения вашего сообщения и ссылки ниже, я думаю, что нет общего пути (http://blogs.msdn.com/ b/shawnhar/archive/2009/08/17/combining-shaders.aspx). Спасибо за помощь кстати. – Aulaulz