Вопросы отложенного затенения

У меня просто есть вопросы по отложенному затенению. Я дошел до того, что у меня есть Color, Position, Normal и текстуры из Multiple Render Targets. Мои вопросы относятся к тому, что я делаю дальше. Чтобы убедиться, что я получил правильные данные от текстур, я поместил плоскость на экран и отобразил текстуры на эту плоскость. Чего я не понимаю, так это как манипулировать этими текстурами, чтобы окончательный результат был затенен освещением. Нужно ли визуализировать плоскость или квад, который занимает экран и применить все вычисления к этой плоскости? Если я сделаю это, я немного растерялся, когда смог бы заставить работать несколько источников света, поскольку «плоскость» была бы визуализируемым объектом, поэтому для каждого источника света мне нужно было бы повторно визуализировать плоскость. Я думаю об этом неправильно?

0

Решение

Вы должны визуализировать некоторую геометрию, чтобы представить область, покрытую светом (ами). Термин освещения для каждого пикселя света накапливается в целевом объекте рендеринга. Это дает вам ваш освещенный результат.

Есть разные способы сделать это. Чтобы начать работу, простой / легкий (и чертовски медленный) метод состоит в том, чтобы визуализировать полноэкранный квад для каждого источника света.

В принципе:

  • Настройка: рендеринг всех объектов в g-буфер, сохраняя различные свойства объекта (альбедо, зеркальность, нормали,
    глубина, все что нужно)
  • Освещение: для каждого источника света:
    • Отобразите некоторую геометрию, чтобы представить область, которую свет собирается покрыть на экране
    • Пример g-буфера для данных, необходимых для расчета вклада освещения (вы можете использовать регистр vpos, чтобы найти ультрафиолетовое излучение)
    • Накапливать термин освещения в целевой объект рендеринга (для простых случаев хорошо подойдет буфер)

После того, как вы это заработаете, есть множество способов ускорить его (ножничный прямоугольник, сетки, которые тесно связывают свет, трафаретные тесты, чтобы избежать затенения «плавающих» областей, одновременное рисование нескольких источников света и техники более высокого уровня, такие как мозаика). ).

В наши дни на Отложенном Затенении есть много разных наклонов, но оригинальная техника подробно описана здесь: http://http.download.nvidia.com/developer/presentations/2004/6800_Leagues/6800_Leagues_Deferred_Shading.pdf

1

Другие решения


По вопросам рекламы [email protected]