Итоги 2016 года
- Графический движок DGL был значительно отрефакторен и улучшен, был создан более эффективный формат для хранения сцен и реализованы различные новые техники рендеринга, самой интересной из которых является PBR. Движок стал работать намного быстрее, а картинка стала заметно современнее.
- Вышли подряд две новые версии коллекции библиотек dlib — 0.8 и 0.9.
- Вышло 6 номеров электронного журнала «FPS» (№№ 40, 41, 42, 43, 44, 45). В 2017 году журналу исполняется 9 лет.
- На сайте LightHouse Software вышли две мои статьи по D — «Стеганография в dlib» и «dlib.image и OpenCL». Также Atrium и сопутствующие проекты привлекли внимание авторов Блога D, где был опубликован соответствующий отчет на английском.
- Я довел до ума и выложил трассировщик лучей и программный растеризатор, написанные на D, а, кроме того, все-таки доделал свой старый проект — Xtreme3D 3.0.
- Выход LunarG SDK, комплекта разработки под Vulkan. Одновременно появились и Vulkan-биндинги для разных языков, в числе которых и D. Поддержкой нового API постепенно обрастают и ведущие игровые движки.
- Открытие исходников CryEngine 5.
- Выход Krita 3.0 с поддержкой анимации.
- Переход Blender на OpenGL 2.1 для отрисовки интерфейса. Запускать последние версии Blender на своих старых ноутбуках я теперь не могу — а жаль…
- Появление Armory3D, альтернативного игрового движка для Blender — очень перспективный проект, картинкой и списком поддерживаемых платформ оставляет BGE далеко позади.
- Выход Doom 4. Покупать, правда, не стал, скачал на Steam бесплатную демо-версию. Чтобы запустить, пришлось немного пошаманить с настройками, но, в целом, остался доволен. Особенно порадовала пасхалка в виде комнаты с текстурами из классического Дума =)
Инкрементальная сборка в LDC
https://johanengelen.github.io/ldc/2016/09/17/LDC-object-file-caching.html
Atrium в Блоге D
http://dlang.org/blog/2016/09/16/project-highlight-timur-gafarov
Трассировщик лучей на D
Рендерит не очень быстро, код не слишком оптимизирован (упор делался, в основном, на простоту и наглядность исходников). Основная оптимизация заключается в распараллеливании трассировки на несколько потоков, что дает заметный прирост производительности на многоядерных процессорах.
Проект написан на D, для работы с изображениями и математических вычислений использует библиотеку dlib. Исходники умещаются в 400 строк. Лицензия — public domain или CC0, на ваш выбор.
x86_64! Ура, товарищи!
Наконец-то мне удалось собрать Atrium под 64-битную Windows! Пришлось ставить VS 2015, но оно стоило того…
Заодно проверил на практике LDC 1.0.0 — производительность, как и несколько лет назад, в разы выше, чем с использованием DMD, что не может не радовать. Теперь все тестовые сборки и промежуточные релизы будут собираться LDC и снабжаться 64-битными версиями.
Хронология развития движка Atrium
Не могу не отметить, что процесс разработки идет намного медленнее, чем я изначально предполагал — только на графику с физикой ушло целых три года. Надеюсь, читатели блога отнесутся к этому с пониманием, ведь я работаю над движком в одиночку, в свободное время.







