Тоесть Z-буфер не очищать после первого прохода, только запрещать в него запись. Затем для каждого источника света рисовать шарик и проверять, где он не прошел тест глубины, тогда получим силуэт реально освещенной части объекта, находящийся в буфере трафарета. А затем уже рисуем экранный квад с отсечением по трафарету. Так?
|
Походу реально так.
Вот код
http://pastebin.com/3x732dwj
Работает все очень шустро - в любом месте 60 фпс.
Демка в аттаче ( 60 источников света )
2Mr_F_ Просто огромное спасибо за разъяснения. То чувство, когда пришло прозрение.