Накопление света при отложенном рендеринге - PullRequest
1 голос
/ 29 марта 2012

Я пытаюсь преобразовать моего форвард-рендеринга в отложенный рендерер, но есть одна проблема, которую я не могу найти (или не могу осмыслить), и именно так накапливаются все источники света в сцене.При рендеринге я загружал все свои источники света в шейдер, но я был ограничен 4 из-за размера различных объектов.Как передать накопленную информацию о свете в мой последний композитный шейдер?Отрисовываю ли я каждый источник света аналогично тому, как визуализируется каждый объект сцены?Я видел несколько примеров, которые отображают каждый точечный источник света как сферу, но я не вижу, как этот метод позволяет ослаблять.

1 Ответ

4 голосов
/ 29 марта 2012

Идея отложенного затенения заключается в том, что вы выполняете расчеты освещения в одной операции с размером экрана для каждого источника света, то есть для каждого источника света выполняется отдельный проход отложенного затенения.Освещение складывается, поэтому вы используете аддитивный режим наложения (без альфа-канала, просто суммируйте его).Это также причина, по которой отложенное затенение хорошо работает только с непрозрачной геометрией и требует дополнительной подготовки (например, глубокого отслаивания сцены), если ее применять к полупрозрачной геометрии.

...