Nuklear – GUI для Dagon

Nuklear – GUI для Dagon

Отличные новости: стараниями Mateusz Muszyński aka Timu5 в Dagon был интегрирован Nuklear – тулкит для построения графических интерфейсов и рендеринга 2D-графики! Теперь на движке стало проще создать редактор, а то и вовсе написать 2D-игру, что и было сделано: на основе dagon.ui.nuklear был написан клон Sokoban с редактором уровней.

BindBC-биндинг Nuklear вы можете найти тут.

Также я работаю над поддержкой декалей и твининга, но об этом еще напишу подробнее в другой раз.

Кубические текстуры

Кубические текстуры

Добавил в движок поддержку кубческих текстур для рендеринга отражений и простейшего GI. Также возможна конвертация равнопромежуточных карт окружения в кубические текстуры по методу, описанному мной в статье на LHS.

На скриншотах показано, как меняется отражение на металле при смене освещенности сцены.

Ландшафт

Ландшафт

Стараниями Rafał Ziemniewski в Dagon была реализована базовая поддержка процедурных ландшафтов – загружаемых из карты высот, либо генерируемых шумом OpenSimplex. Надеюсь вскоре добавить проверку столкновений с ландшафтом и специализированный шейдер для него.

Итоги 2018 года

Год подошел концу, а это значит, что наступило время для традиционного подведения итогов.

  • 2018-й ознаменовался множеством значительных улучшений в движке Dagon. Самые важные из них включают переход на OpenGL 4.0, HDR, отложенный рендеринг, новую систему шейдеров, поддержку карт окружения, улучшенные частицы, новые эффекты пост-обработки (SSAO, HDR glow, motion blur, хроматическая аберрация, улучшенный color grading), экспорт сцен из Blender. Также была улучшена поддержка джойстиков и реализована поддержка рулей.
  • Я написал цикл уроков по базовым возможностям Dagon и открыл англоязычный блог на Medium.
  • Вышло три релиза коллекции библиотек dlib – 0.13.0, 0.14.0, 0.15.0.
  • Я запустил краудфандинг своих проектов на Patreon и начал продавать 3D-модели на CGTrader.
  • На сайте LightHouse Software вышли две мои статьи по D – “Преобразование карт окружения при помощи dlib”, “Музыкальный D: синтезатор в 100 строк”.

Ну и, конечно, не могу не назвать самые значимые для меня события в мире CG, СПО и геймдева:

  • Прекращение поддержки OpenGL на macOS.
  • Покупка GitHub корпорацией Microsoft.
  • Открытие исходников PhysX под свободной лицензией.
  • Появление поддержки WebAssembly в компиляторе LDC, включение фронтенда D в GCC, портирование бэкенда DMD на D, отвязывание всех компиляторов D от линкера MSVS при сборке 64-битных приложений. Инструменты развиваются, язык не стоит на месте, и все это, конечно, не может не радовать. 
  • Выход BindBC, нового биндинг-фреймворка от автора Derelict (я стал одним из первых его пользователей).
  • Выход бета-версии Blender 2.80. Очень впечатлили возможности Eevee, но слегка разочаровал отказ от BGE – я-то надеялся, что игровой движок, напротив, будет улучшен и интегрирован с Eevee.
  • Бесплатный релиз движка Armory. Давно и с большим интересом слежу за этим проектом, хотя и не собираюсь отказываться от Dagon в пользу чего-то стороннего.
  • Krita 4.0 и GIMP 2.10.
  • RTX от NVIDIA – трассировка лучей на GPU с игровой производительностью – и, соответственно, выход первых потребительских видеокарт с полной поддержкой этой технологии (линейка GeForce RTX 2080 на базе архитектуры Turing)
  • C&D-письмо автору Spyro: Myths Awaken. Нападки корпораций на фанатское творчество не прекращаются, и это печально.
Tube area lights

Tube area lights

Добавил в Dagon поддержку трубчатых источников света (tube area lights) по методу, описанному тут. На скриншотах показаны блики от трубок на поверхностях с разной шероховатостью, а также рельефом.