При точечном источнике мы строим карту глубин, а потом все объекты проверяем на то, что глубина текущей точки меньше глубины этой карты.
Но у меня есть большой источник света (к примеру прямоугольник или что-то аналогичное), который никак нельзя назвать точечным. Как в опенгл (вероятнее всего с помощью шейдеров) нарисовать тень от такого источника?
Можно, конечно, разбить такой прямоугольник на n*n (или даже m*m) точек, и от каждой точки построить свое маленькое освещение. Но это по моему как-то долго будет.
Пусть для упрощения источник находится с одной стороны от всех объектов, то есть к примеру лампа на потолке, а все предметы - внутри комнаты.