Приводя в порядок архивы и вспоминая прошлое, решил зафиксировать информацию о моих 3D-движках и других OpenSource-разработках в виде интерактивной временной шкалы при помощи time.graphics — возможно, кому-то будет интересно:
Crematorium 0.2
Выпустил обновленную версию моего старого doom-like шутера Crematorium. Старый звуковой движок Saudio заменил на GMSquall, что исправило проблему с ошибкой при запуске на некоторых системах. Также добавил возможность растягивать окно игры.
Напомню, Crematorium была создана в 2007 году для II конкурса портала GameCreating.ru. Задачей было создать игру с администраторами портала в главной роли. Игра представляет собой коридорный шутер, сделанный на Game Maker при помощи встроенного 3D-режима.
С Новым годом!
Поздравляю всех читателей блога с наступившим 2020 годом! Желаю творческих успехов всем авторам и долгих лет жизни всем интересным проектам!

В качестве небольшого подарка — обновленная версия демки dagon-sandbox, которую теперь можно скомпилировать в «зимнем» режиме (version = Winter)
Итоги 2019 года
Пролетел еще один год, и это значит, что наступило время для традиционного подведения итогов по проектам.
- Блог DLangGamedev переехал на новый адрес и движок: https://gamedev.timurgafarov.ru.
- Был значительно улучшен движок Dagon: добавлена поддержка декалей, трубчатых источников света и «фонариков», кубических карт окружения. Благодаря сторонним разработчикам появилась поддержка рендеринга ландшафтов, в том числе процедурных с использованием шума OpenSimplex, а также интеграция GUI-тулкита Nuklear. Были полностью переписаны рендер и система постобработки в Dagon, упорядочена структура модулей движка, внесено множество оптимизаций производительности, реализован эффект объемного рассеяния света в атмосфере (volumetric light scattering) для направленных источников света. Mateusz Muszyński на основе Dagon и Nuklear написал клон Sokoban с редактором уровней.
- Я начал работу по интеграции физического движка Newton Dynamics в Dagon в рамках проекта dagon-newton и биндинга bindbc-newton. Newton был выбран как наиболее функциональный физический движок с интерфейсом C.
- Вышли dlib 0.16.0 и 0.17.0. Библиотека постепенно приближается к релизу версии 1.0.
- Я написал bindbc-wgpu, биндинг к графической библиотеке wgpu.
Ну и, конечно, не могу не назвать самые значимые для меня события в мире CG, СПО и геймдева:
- Появление WebGPU, нового веб-стандарта для высокопроизводительной графики.
- Выход Blender 2.80 c новым вьюпорт-движком Eevee.
- Открытие кода Mimalloc, быстрого и компактного аллокатора памяти от Microsoft.
Переезд блога
Спустя 7 лет со дня открытия блога https://dlanggamedev.blogspot.com я наконец-то переезжаю на коммерческий хостинг и личный WordPress. Я только начал изучать эту CMS, но первые впечатления самые положительные: удобный редактор, админка, огромный выбор готовых тем, плагинов и виджетов. Абсолютно все можно настроить и кастомизировать. Еще один немаловажный плюс — нормальная работа WP-сайтов на мобильных платформах.
Переезд еще не завершен — необходимо создать страницы проектов. Но мне удалось автоматически перенести основной контент со старого блога, включая даже комментарии и часть картинок.
Newton
Новый рендер в Dagon
В следующей версии движка, 0.11, будут полностью переписаны рендер и система постобработки, а также изменена структура модулей. Как следствие, Dagon потеряет совместимость со старыми проектами, но зато появится возможность практически не ограниченного расширения движка путем создания пользовательских графических конвейеров. Новая версия Dagon разрабатывается в ветке dagon-ng.
Из уже реализованных возможностей можно отметить почти готовый отложенный рендер с оптимизациями производительности и расхода памяти (например, больше не используется буфер позиций, позиции вычисляются на основе буфера глубины). Стало возможным изменение разрешения окна/вьюпорта в процессе работы приложения. Кроме того, был улучшен сэмплинг карты окружения — используется нелинейная зависимость mip-уровня от шероховатости, реализованная по методу, предложенному Морганом Макгуайром, что повысило реалистичность материалов с низкой и средней шероховатостью:
Экранное затенение среды (SSAO) было вынесено в отдельный буфер, что позволяет использовать данные о затенении на разных этапах конвейера. Был добавлен денойзер, благодаря которому удается рендерить SSAO без шума с небольшим количеством сэмплов:
Демку новой ветки Dagon с функциями редактора можно найти тут.
Dagon 0.10.0 и dlib 0.16.0
Вышли новые версии движка Dagon и библиотеки dlib — 0.10.0 и 0.16.0 соответственно. Релиз Dagon один из самых крупных за всю историю проекта: он содержит 226 коммитов и труд четырех разработчиков (Тимур Гафаров, Mateusz Muszyński, Rafał Ziemniewski, dayllenger). Вот краткий список изменений:
- Рендеринг ландшафтов, в том числе процедурных с использованием шума OpenSimplex.
- Интеграция GUI-тулкита Nuklear.
- Поддержка декалей для статических поверхностей.
- Поддержка трубчатых источников света (tube area light) и «фонариков» (spot light).
- Поддержка кубических карт.
- Улучшенный HDR glow.
- Множество новых функций для объектов Entity.
- Поддержка твинов (tween) для анимации перемещения, поворота и масштаба объектов. Встроенный набор функций изинга включает linear, quad, back, bounce.
- Улучшенный таймер.
- Система конфигурации приложений.
- Менеджер ввода (InputManager), позволяющий настраивать конфигурации клавиатуры и устройств ввода.
- Поддержка отладочных сообщений от видеодрайвера (при помощи OpenGL-расширения GL_KHR_debug).
Полный список изменений смотрите на странице релиза. Также было обновлено и демонстрационное приложение.
Напоминаю: если вы заинтересованы в развитии этого проекта, то можете поддержать его на Patreon: https://www.patreon.com/gecko0307. Вы также можете сделать разовое пожертвование через PayPal: https://www.paypal.me/tgafarov. Заранее благодарен!