Быстрая загрузка текстур

Декодирование некоторых форматов текстур (PNG, JPEG и др.) в Dagon теперь осуществляется при помощи библиотеки stb_image, что в разы ускорило загрузку игровых ресурсов. Как бесплатный бонус – появилась поддержка формата PSD.

Декодирование HDR и DDS по-прежнему основывается на функциях dlib.image. В будущем хочу также добавить декодер KTX, нового формата текстур от Khronos.

Кубические карты из DDS

В следующей версии Dagon появится поддержка кубических карт в формате DDS. Чаще всего для кубических карт этот формат используется, если необходимо хранить предрассчитанные зеркальные лепестки (specular lobes) для разных уровней шероховатости – DDS позволяет хранить эти данные в mip-уровнях текстуры и быстро загружать их без промежуточного декодирования.

До этого единственным доступным вариантом была генерация mip-уровней в самом движке, но это делалось блочным фильтром, без учета BRDF. Теперь свертку карты окружения можно осуществлять при помощи внешних инструментов – я рекомендую, например, IBLBaker.

glTF в Dagon

В Dagon 0.12 появится начальная поддержка glTF 2.0, популярного формата 3D-моделей от Khronos. На сегодняшний день готова загрузка мешей, текстур и, частично, материалов, на очереди – сцены и узлы, а в перспективе не исключена и поддержка анимации. Ниже – скриншоты дворца Спонца, загруженного из glTF.