Я реализовал всенаправленное отображение теней в отложенном рендерере, но у меня возникли проблемы с решением этой проблемы:
Вот изображение:
Вот что произошло, когда я просто разместил шесть прожекторов, направленных вдоль каждой оси в положительном и отрицательном направлениях. Я знаю, что проблема вызвана расчетами точечного света, при котором освещение находится в конусе для огней, и поэтому оно круглое.
Моя первая мысль заключалась в том, чтобы просто отключить вычисления конуса, но, очевидно, потому что источники света смешиваются вместе, если вы смотрите сквозь один источник света на другой, будет перекрытие. Если я изменю визуализируемую для света геометрию с конуса на квадратную пирамиду (что, я думаю, мне все равно нужно будет сделать?), Я смогу вместо этого использовать усеченную вершину света (которая у меня уже есть) вычисления конуса, чтобы проверить, попадает ли текущий пиксель внутрь усеченной пирамиды, верно?
Если да, то кто-нибудь знает, как лучше всего сделать это в пиксельном шейдере? Я подумал о том, чтобы просто проверить, лежит ли точка перед каждой плоскостью усеченной пирамиды, но это кажется дорогостоящим в пиксельном шейдере.