dgl
Новый формат сцен

Средства для загрузки нового формата в DGL и экспорта из Blender уже доступны в репозитории движка. Правда, я еще не определился с форматом хранения материалов — есть идея хранить вместе с моделью только базовые характеристики материала, которые можно получить из Blender (текстуры, цвета), а расширенные настройки, специфичные для DGL, загружать из отдельных внешних файлов с текстовым описанием.
Улучшенные тени
Удалось практически свести на нет пикселизацию мягких теней:
Все изменения в DGL, связанные с тенями, кстати, уже доступны в репозитории проекта.
Игровые движки на D
Ситуация с игровыми движками для D на сегодняшний день, к сожалению, далека от удовлетворительной. Проект Dash, гремевший год-два назад, сегодня практически не развивается, и это подтверждается не только отсутствием значимых коммитов в репозитории, но и словами самих авторов: «Unfortunately we aren’t doing much active development on Dash at this point, but we are still relatively quick at doing PRs and providing support». Попытки портировать на D такие движки, как OGRE и Irrlicht, заглохли еще раньше — так же, как и проект по переписыванию на D2 движка Yage, который был достаточно популярен в эпоху D1.
Вот еще парочка проектов, которые проявляли активность в течение последних лет, но нынешняя актуальность которых вызывает сомнения:
- EncoXD — кроссплатформенный движок на основе SDL2 и OpenGL 3.2 со скриптингом на Lua и начальной поддержкой сети
- ZuzuStudio Game Engine — курсовая работа студентов из Минска. Курсачи редко перерастают во что-то более серьезное, так что особых надежд питать не стоит.
А что же актуальные проекты? Тут выбор невелик:
- Unecht — очень любопытный 3D-фреймворк. Работает на GLFW и OpenGL 3.3, поддерживает физику (ODE), OpenAssimp, FreeImage, FMOD, включает собственный редактор сцен
- DGL — моя скромная разработка, графический движок под Windows, Linux и OSX. Работает на SDL и OpenGL 1.2 (но большая часть функциональности основана на шейдерах и расширениях OpenGL). Нет встроенного редактора, зато есть экспортер сцен для Blender. DGL все еще находится на стадии рефакторинга: есть стабильная версия и экспериментальная ветка DGL/GC-free с ручным управлением памятью, шейдерной системой материалов и многими другими фичами, но некоторые возможности основной ветки до сих пор в нее не портированы — например, скелетная анимация.
Если вы разрабатываете свой игровой движок на D, сообщите в комментариях, и я дополню список.
Техно-демо
Доступно новое tech-demo графического движка с изменениями последнего месяца:
Итоги 2015 года
Наступают новогодние праздники — а значит, настало время традиционного подведения итогов по проделанной за год работе:
- Вышло 6 номеров электронного журнала «FPS» (№№ 34, 35, 36, 37, 38, 39). В 2016 году журналу исполняется 8 лет, не за горами и юбилейный 40-й номер.
- Открылся ресурс CG World — новостной блог, посвященный компьютерной графике
- Значительно улучшен графический движок DGL, на котором создается Atrium. Реализовано динамическое освещение, шейдерные эффекты, тени, пост-процессинг и т.д.
- Игра «засветилась» в PC Magazine, на IndieDB, а также в официальной группе новостей и русскоязычных сообществах по языку D.
- Обновился сайт Atrium.
- Состоялся выход dlib 0.7.0 со множеством улучшений во всех модулях библиотеки и поддержкой Travis-CI.
- Физический движок dmech обновился до версии 0.2.6, обзавелся C-интерфейсом, компиляцией в динамическую библиотеку и поддержкой Mac OS X. Появились новые демки и уроки по движку.
- Система сборки Cook обновилась до версии 2.1.x. Основные нововведения: поддержка response-файлов, кросс-компиляции и поддиректорий во внешних зависимостях.
Чем для меня был интересен прошедший 2015 год? Вот самые, на мой скромный взгляд, значимые события в мире CG, СПО и любительского геймдева:
- Появление Vulkan, графического API нового поколения, который должен преодолеть недостатки OpenGL и Direct3D, сократив прослойку между пользовательским кодом и видеодрайвером, что позволит более глубоко оптимизировать приложения.
- Выход нового короткометражного открытого фильма от Blender Institute — «Космическая прачечная» (проект Gooseberry).
- Релиз Krum: Edge of Darkness — игры, созданной на Blender Game Engine, которая создавалась несколько лет.
- «Выстрел» Krita, которую я бы смело назвал программой года. Разработка этого малоизвестного ранее пакета сейчас идет семимильными шагами, по популярности Krita догоняет GIMP, а по функциональности превосходит уже многие коммерческие продукты.
- GIMP 2.9 с поддержкой новых цветовых режимов и OpenEXR.
- Открытие исходников Unreal Engine 4 и PhysX.
Техно-демо
Результат моей работы за последний месяц — практически полный рефакторинг DGL: значительно улучшен убер-шейдер (для всех объектов используется один и тот же шейдер), повысилось качество освещения, появилась поддержка экранного антиалиасинга.
Сразу после Нового года начну перенос Atrium на новую версию движка.