Свет, который не врёт
Запечённые карты освещения хорошо смотрятся на статичной сцене, но пещеры у меня генерируются при каждом запуске. Пришлось отказаться от красивого в пользу честного.
Теперь каждая клетка хранит уровень света от 0 до 15. Источник выставляет своё значение, дальше свет растекается в ширину с затуханием на единицу за шаг. Непрозрачные клетки его не пропускают — отсюда тени.
Пересчёт идёт только в радиусе вокруг изменившегося источника, так что даже на слабом ноутбуке это укладывается в доли миллисекунды.
Следующий шаг — цветной свет от кристаллов. Три канала вместо одного, та же логика.