2013-02-12 3 views
0

Прямо сейчас я столкнулся вопросом об оказании те же объекты, более чем один раз в Directx 11, как объект имеет:рендеринг объект несколько раз

  • диффузный шейдер
  • направленного освещение шейдера
  • текстура шейдер

Теперь окончательный цвет должен быть все из них как-то собрать, возможно, что-то вроде этого:

  • Рендер диффузным
  • Рендер текстуры
  • Рендер Directional

Final Color = (Diffuse + текстуры) * Освещение // Не уверен, что это хотя

Но как это может быть archieved? Без РАСПРОСТРАНЕНИЯ ЭФФЕКТОВ!

+0

Вы имеете в виду, хотите _copies_ одного и того же объекта оказываться в одной и той же сцены, одновременно? –

+0

Да, я думаю. Но с разными оттенками –

ответ

0

Это может быть достигнуто в DirectX11 несколькими способами. Первый заключается в создании «uber shader». Это означает, что нужно делать диффузию, текстуру и освещение в одном и том же шейдере. Во-вторых, использование динамического шейдерного связывания и динамическое связывание уникальных диффузных/текстурных/осветительных шейдеров во время выполнения. В июне 2010 года sdk имеет хороший пример динамического шейдерного соединения. Кроме того, обычное сочетание цветов:

Final Color = Диффузный * Texture * Освещение

Смежные вопросы