Вот за пару дней сего холодного ноября сделал двиг для создания лайтмапов в блитзе на основе стандартных функций. Принцип я взял простой как репа - если источник света "видит" вёртекс, то делает его светлым. По сравнению с обычными (тексельными) лайтмепами генерация проходит гораздо быстрее. Но увы - трабла вся в том, что качественные лайтмапы только на качественных объектах, поэтому с увеличением количества вёртексов время генерации также возрастает.
Работа с ними (как всегда в моём жанре) черезвычайно проста - Инклудим(или засовываем) исходник "shadows.bb", а затем юзаем функции там, где надо =)
NewShadingModel(mesh,x,y,z) - добавляет мэш(mesh) в число объектов которые будут "обрабатываться"
ShadeModels(light_source,maincam,r,g,b) - собственно, совершает все злодеяния, связанные с созданием лайтмепа. Указываем источник света, главную камеру (чтоб знать к чему возвращаться =)) и цвет света. Если хотите, то функция возвратит количество "засвеченных" вертексов.
ClearShadingModels() - ну тут и так всё понятно.
При испытаниях я использовал лишь один мэш, поэтому работоспособность на нескольких мэшах(увы) ещё до конца не выяснена. Если у вас много мэшей, то лучше всего из них сделать сингл мэш с помощью функции AddMesh. Так должно меньше времени занимать, наверное.
В придачу ко всему функция подсчёта вертексов в мэше и моделька кабалистической звезды made by me =^)
з.ы. извините если баян)
вот скрины: