Цитата:
Сообщение от ChuwY
Если вы опишете характеристики возможных фигур, станет проще.
|
Фигуры совершенно произвольные. Хотя в данный момент в основном тестирую на треугольниках и прямоугольниках.
Цитата:
Сообщение от -De-
Побить на треугольники и проверять на точку в треугольнике?
Плюс, если тормозит, то проверку сперва на AABB, т.е. попадает ли точка в прямоугольник, в котором находится треугольник (и/или вся фигура). Ещё можно как для широкой фазы оптимизации ввести, но думаю они уже не понадобятся.
|
Я как раз и склоняюсь к разбиванию фигуры на треугольники с последующей проверкой. Проверку на AABB ввести можно, но это не решит проблему. Вот допустим источник света конусом. Объект не входит в конус, но удовлетворяет проверку AABB. Из-за этого будет наложена лишняя тень, которая может породить артефакты.
Процесс идет примерно так:
1. Весь экран заливается черным.
2. Происходит циклический вызов расчетов света для всех источников.
3. Рисуются освещенные области.
4. Рисуются тени в освещенных областях.