Это не есть просто - освещение! Представь себе, что есть "суп" из полигонов, есть n-источников света, и надо найти в этом супе найти все полигоны, которые надо затенить или засветлить. Даже не просто полигоны, а части их. Сама по себе задача вычислительно не простая, в плане алгоритмов, и в плане вычислений.
Первое, что приходит на ум, выделить из всего множества полигонов, только ту часть которая связана с камерой. Это резко уменьшает количество полигонов. Здесь на помощь приходят BSP, или квадродеревья. Затем, надо из найти все те полигоны цвета которых надо изменить. И тут есть масса проблем. В принципе простой перебор мало спасает, так как часть полигонов может быть сама источником света или преломления, или рассеивать свет. Другая часть затеняет ... Вообщем, какого-то просто и понятного алгоритма я увы не знаю...
Идея трассировки лучей в том, чтобы проследить один луч, и соответственно засветить все нужные пикселы. Photon Mapping - насколько я понял, это вычисление областей с разной освещенностью. Это как бы физические методы вычисления освещенности.
Fake методы, это например, lightmaps. Просто в заданном месте накладываешь полигон с ранее рассчитанным освещением. Или bump...
Существует множество других методов освещение, в частности в самом OpenGL. Есть методы освещения и наложения теней, которые зависят от типа видео-карты. Вообще, это довольно интенсивное поле разработки ... Так что я не могу посоветовать, что-то определенное.
Единственной не доработкой в этом плане на сайте, является отсутствие статьи по lightmaps...