
Кажется я сделал велосипед
Придумал генерацию лайтмапов на основе хейгтмапы.
1. Узнаем с какой стороны солнце.
2. Создаем массив из интегер с разрешением в 4 раза больше того массива в котором хранятся данные высот вершин. у меня это (8х32)х(8х32).
3. Узнаем направление источника света в виде 2д вектора. Строим еще один массив с разрешением равным количеству вершин. Далее смещаясь от угла куда первыми приходят лучи от света проверяем затенит ли вершина соседнюю (минимальный перепад высот который будет затенен вычисляется легко, т.к. дельтаикс и дельтаигрек между вершинами постоянны. Заполняем массив значениями. На свету эта вершина или нет.
4. Для мест где соседствуют затененные с освещенными вершины строим более подробные кусочки лайтмапы 4х4.
5. Учусь писать изображение не врайтпикселями, а сразу числами в жопег или бмп.
6. Немного извращений в пиксельном шейдере. И будет быстрая лайтмапа за время исполнения на цпу ~ 1 мс или меньше.
