Доступно обновление до версии 1.6 beta!
В новом обновлении была проведена большая работа над ускорением алгоритмов, их оптимизации, реализации расчетов на CUDA ядрах и внедрении новой современной библиотеки рейтрейсинга Intel Embree. По этой причине и по причине ввода некоторых экспериментальных фич, было решено выложить бета версию в публичный доступ, чтобы собрать фидбек и исправить возможные ошибки и недочеты
Спасибо за тестирование альфа версии: @Unfainthful, @AfterGlow, @Operator_Nanami, @Alexl
Минимальные требования для использования Embree:
Процессор с поддержкой SSE2 инструкций. Для достижения лучшей производительности рекомендуется процессор Intel с поддержкой AVX, AVX2 и AVX-512 инструкций
Минимальные требования для ускорения вычислений на CUDA:
Операционная система: Windows 10
Видеокарта Nvidia с поддержкой CUDA
Видеодрайвер версии 452.39 и старше
Скачать:
Google drive
Yandex disk
Основные изменения версии 1.6:
Геометрия:
Часть алгоритмов компиляторов была переписана под многопоточное использование и вычисление на видеокарте
Для ускорения рейтрейсинга подключена библиотека Embree с полноценной поддержкой прозрачных поверхностей и инстансов
Оптимизированы фазы запекания освещения и расчетов укрытий АИ-сетки
Исправлен пересвет хеми у MU объектов в аутдоре. Данная проблема имелась даже на оригинальных локациях, и сейчас все объекты (для исключением объектов в зданиях) более менее выровнены по значению хеми
Лайтмап текстуры теперь автоматически расширяются до 4К разрешения. Благодаря этому на этапе сшивания геометрии больше вершин будут объединены за счет схожих текстур. Также данное разрешение было выбрано, так как оно поддерживается более-менее старыми видеокартами
Изменена последовательность условий при распределении лайтмапов по холстам
Изменено условие тесселяции треугольников. Теперь тесселяция производится только при большой площади текстурных координат у треугольников
Добавлена подфаза оптимизации текстурных координат, которая нацелена на исправление потяжек текстур
Исправлена проблема потенциальных потяжек текстур на геометрии с наложенными текстурами большого разрешения
Убрана фаза Building tangent-basis, теперь действия этой фазы выполняются в процессе Converting to OGFs
Экспериментальный отказ от использования THM файлов. Данные файлы используются компилятором для определения наличия прозрачности у текстур, чтобы в дальнейшем использовать текстуры при запекании освещения. Теперь проверка прозрачности происходит через чтение игровых шейдеров (shaders.xr). Производится поиск материалов с шейдером, который поддерживает полупрозрачность, и подгружаются только нужные текстуры. Также в подгружаемых текстурах дополнительно проверяется наличие альфа канала. Если его не обнаруживается, то текстура выгружается, а поверхность становится непрозрачной. Данный переход на использование shaders.xr поможет избавиться от проблемы с обработкой сломанных и некорректно настроенных THM файлов
Фаза Radiosity (ключ -gi) автоматически отключается с использованием Embree, поскольку фаза стала deprecated. На первых версиях компилятора она уже работала не так как надо, поэтому в планах совсем её вырезать
Уменьшен размер структуры треугольников, что уменьшило потребление памяти
Новый формат build.cform, имеющий меньший вес файла
Спавн:
Оптимизация в фазе сборки графов
В спавн добавлена поддержка классов W_MOUNTD и Z_AMEBA
Экспериментальный отказ от необходимости заполнения секции [levels]. Теперь список формируется из добавленных пользователем спавнов, и идентификаторы уровней идут по возрастанию. Для возвращения чтения секции добавлен ключ -use_levels_section
Добавлен ключ -spawn_version <значение> для принудительного выставления версии спавна
При ошибке "Can't find any graphs! Check log" могут дополнительно выводиться количество уровней без АИ-сетки и количество АИ-сеток с расхождением версий, если таковые имеются
Интерфейс:
В меню добавлена опция перезагрузки меню после успешной компиляции
В случае успешной компиляции при наличии опции выключения ПК теперь появляется окно с полуминутным таймером и возможностью отменить выключение
Сообщения об инвалид фейсах и split faces больше не выводятся в окне, выводится только их количество. В лог всё пишется как раньше
Добавлены новые опции ускорения вычислений
Исправлено сохранение дополнительных ключей для компилятора АИ-сетки
Добавлено поле дополнительных ключей в сборку спавна