Так. Надо будет еще затестировать ворлдлюксели из Q3 с учётом исправленных ошибок и пока отложить всё это дело в сторонку. Потому что такими темпами это снова растянется на неопределённое время. А уже пора бы получить обратную связь от сообщества. Освещение декалей я кстати тожы так и не сделал, но уже хрен с ним, попозже доделаю.
Вообщем план такой:
1. собираю новый архив второй паранои, с учётом всех исправлений.
2. прохожу сам, исправляя то, что недоисправлено.
3. выкладываю вам на тестирование + SDK для творчества.
Я уже много раз всего обещал и каждый раз оно откладывалось-затягивалось, поэтому уже боюсь называть конкретные сроки, но планирую выдать на этой неделе.
Приступил к сборке бета-версии. Очевидно надо пройти вторую параною, попутно исправляя возникающие ошибки и докладывая недостающие ресурсы, ну или подменяя их на затычки. Как только допройду, можно сказать что бета-версия готова.
Первое прохождение успешно завершено, монстры не застревают, поправил ряд огрехов. Вторая итерация. Што-то я там с партиклами не то сотворил, дым синий и переодически вылеталкер из-за этого.
Прошёл второй раз, поправил еще несколько мелочей. Ну в принципе - достаточно. Буду собирать вам бета-версию. Но сперва надо выложить обновления движка и ксаш-мода.
Ну вот, выдалась свободная минутка и я прикрутил наконец-то полноценные ворлд-люксели из кутри к лайтмапам на моделях (слева классический подход, где текстурная матрица превращается в лайтмапную, справа истинные ворлдлюксели).
ncuxonaT писал: Что из себя представляют ворлд-люксели?
Первый квейк, первая халфа, второй квейк:
Подход: берём исходную текстурную матрицу, делим на наше соотношение текселя к люкселю (обычно 16).
Плюсы: матрицу не надо высчитывать и хранить отдельно, она всегда валидная.
Минусы: зависимость от скейла текстуры и от её ориентации. Тем не менее актуально для софт-рендера, сокращается кол-во рассчётов.
Вторая халфа, обновлённые p2-компиляторы
Подход: берём исходную текстурную матрицу, нормализуем, снапаем близкие к аксиальным значения, умножаем на соотношение юнита к люкселю.
Плюсы: рассчёты по прежнему минимальны, размерность люкселя везде одинаковая, что положительно сказывается на бесшовности лайтмапы.
Минусы: всё еще зависимость от ориентации текстуры.
Третий квейк:
По нормали определяем ориентацию сурфейса, строим аксиальную матрицу в любом случае, по X, Y или Z.
Плюсы: лайтмапа не только не зависит от текстурной матрицы, но еще и всегда выровнена в мировом пространстве. Для брашей не очень актуально, а вот для всяких моделей и патчей весьма полезно в плане отсутствия швов и ошибок построения.
Минусы: матрица считается с нуля каждый раз. Впрочем в наше время по быстродействию разницы нет. Ее уже в 99-м не было.