Традиционно подвожу итоги за уходящий год. Выдалось очень много свободного времени для хобби-проектов — я не только хорошо поработал над движком, но и изучил множество новых для себя технологий.
- Перенес почти все свои онлайн-ресурсы на новый сервер. Блог переехал на новый домен и был переименован в PixelPerfect Blog. Заодно я добавил некоторые оптимизации, за счет которых он теперь работает заметно быстрее;
- Выпустил множество версий Dagon, от 0.19 до 0.36. Я перешел на новый итеративный принцип обновлений: теперь релизы выходят по мере добавления небольших наборов фич, вместо того, чтобы по полгода накапливать много изменений. В этом году движок был очень серьезно обновлен, перечислю тут лишь наиболее важное.
- Состоялся переход на OpenGL 4.3;
- Добавлена поддержка вычислительных шейдеров;
- Появилась поддержка GPU-скиннинга и анимированных моделей glTF;
- Реализована поддержка HiDPI;
- Реализовано расширение для работы с устройствами виртуальной реальности посредством OpenVR;
- В систему событий добавлена многопоточность с асинхронным обменом сообщениями между потоками;
- Улучшена система загрузки текстур: изображения теперь загружаются через библиотеку SDL2_Image, что обеспечивает поддержку новых форматов — WebP, AVIF, SVG и многих других. Также реализована поддержка текстур в формате KTX/KTX2 с транскодированием из Basis Universal в различные профили аппаратного сжатия. Добавлена поддержка анизотропной фильтрации текстур;
- Встроенный звуковой движок на основе SoLoud;
- Поддержка видео на основе libVLC;
- Поддержка теней для позиционных источников света (PSM и DPSM);
- Объемное рассеивание для позиционных источников света;
- Префильтрация кубических карт;
- Бокс-проекция для зондов окружения;
- Упрощенный рендер
SimpleRendererдля казуальных игр и ретро-графики; - Шейдер океана;
- Шейдер луж для ландшафта;
- Поддержка Matcap-проекций для текстур;
- Встроенная система проверки столкновений;
- Логгер;
- Простой GUI-тулкит;
- Поддержка нескольких игровых контроллеров;
- Ввод с Wintab-совместимых графических планшетов с учетом силы нажатия;
- Поддержка локализации приложений;
- Обновился сайт Dagon. Также у проекта наконец-то появилась онлайн-документация.
- Выпустил dlib 1.3.1, 1.3.2, 1.3.3 и 1.4.0;
- Написал биндинги к Vulkan, GLSLang, SPIRV-Cross, PhysFS. Все мои биндинги теперь живут в GitHub-организации DLangGamedev;
- Значительно обновил Chillwave Drive, демку физики автомобиля;
- Начал работу над GScript3, третьей версией моего скриптового языка;
- Форкнул Programmer’s Notepad, мой любимый текстовый редактор под Windows, и выпустил три новые версии, 2.5, 2.6 и 2.7, с несколькими важными изменениями по сравнению с оригиналом;
- Завершил работу над Xtreme3D 4.0.
Ну и, конечно, мой личный список интересных событий в мире D, Open Source и IT в целом:
- D используется в NASA! В этом году стало известно, что ПО для сбора данных в рамках миссии TRACERS было написано на D;
- D отметили в списке 10 самых быстрых языков программирования;
- Выход демо-версии The Art of Reflection, новой инди-игры на D;
- Выход в ранний доступ InZOI, next-gen симулятора жизни с реалистичной графикой — это первый в истории серьезный конкурент серии The Sims. Несмотря на сыроватый геймплей, игра поражает технологическим уровнем, особенно возможностями встроенных нейросетей для генерации моделей;
- GreenSock Animation Platform, самый мощный фреймворк браузерной анимации, стал полностью бесплатным. Я использую GSAP во всех своих коммерческих браузерных играх, так что новость для меня весьма радостная.