Итоги года

Близится конец года, и, значит, настало время для очередного подведения итогов. К сожалению, в связи с постоянными разъездами и дипломной работой у меня было мало времени на хобби-проекты, но какой-то прогресс все же имеется.

  • Для Atrium был разработан новый графический движок Dagon на основе OpenGL 3.3 и SDL2, поддерживающий множество современных технологий, в том числе CSM и кластерный рендеринг.
  • Я написал ради развлечения симулятор автомобиля с использованием физического движка dmech – в итоге, этот код стал частью демонстрационного приложения Dagon.
  • Вышли несколько важных релизов коллекции библиотек dlib – 0.10, 0.11 и 0.12. Появились новые компоненты – например, dlib.async и dlib.memory, поддержка анимированных изображений и APNG, а также загрузчик формата HDR.
  • Вышли три номера журнала “FPS” (46, 47, 48). В 2018 году журналу исполняется уже 10 лет!
  • “Blender. Настольная книга” теперь доступна на GitHub – в виде markdown-исходников, автоматически публикующихся через gh-pages.
  • На сайте LightHouse Software вышла моя статья по D – Векторная графика в dlib.

Напоследок, по сложившейся традиции, перечислю самые значимые для меня события в мире CG, СПО и геймдева:

  • Бэкенд DMD был перелицензирован под лицензией Boost, что наконец-то сделало компилятор полностью свободным.
  • Начало разработки Blender 2.8 с новым фотореалистичным вьюпортом Eevee.
  • Выход OpenGL 4.6.
  • Закрытие Steam Greenlight.
  • Официальное прекращение развития Flash – важный шаг в сторону открытого веба.
  • Анонс нового открытого фильма от Blender Institure – “Agent 327”.

    Итоги 2016 года

    Близится конец года – и, значит, настало время для подведения итогов. К сожалению, в последнее время у меня было мало времени для работы над Atrium, но какой-то прогресс все-таки есть.

    • Графический движок 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.
    Чем для меня был интересен прошедший 2016 год? Вот самые, на мой скромный взгляд, значимые события в мире CG, СПО и геймдева:
    • Выход LunarG SDK, комплекта разработки под Vulkan. Одновременно появились и Vulkan-биндинги для разных языков, в числе которых и D. Поддержкой нового API постепенно обрастают и ведущие игровые движки.
    • Открытие исходников CryEngine 5.
    • Выход Krita 3.0 с поддержкой анимации.
    • Переход Blender на OpenGL 2.1 для отрисовки интерфейса. Запускать последние версии Blender на своих старых ноутбуках я теперь не могу – а жаль…
    • Появление Armory3D, альтернативного игрового движка для Blender – очень перспективный проект, картинкой и списком поддерживаемых платформ оставляет BGE далеко позади.
    • Выход Doom 4. Покупать, правда, не стал, скачал на Steam бесплатную демо-версию. Чтобы запустить, пришлось немного пошаманить с настройками, но, в целом, остался доволен. Особенно порадовала пасхалка в виде комнаты с текстурами из классического Дума =)

    Итоги 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.

    Итоги года

    Вот и пролетел еще один год – самое время подводить итоги по проделанной работе!

    • Вышли подряд нескольно новых версий dlib (0.3 и 0.4). Появилась поддержка абстрактных потоков ввода/вывода, а также платформонезависимый интерфейс файловой системы и его реализации для Windows и POSIX. Пакет обработки изображений теперь поддерживает JPEG, TGA и BMP, распараллеливание, HDRI. В пакете линейной алгебры состоялся серьезный рефакторинг матриц, появилась поддержка инверсии через LU-разложение.
    • Было выпущено 6 номеров электронно-познавательного журнала “FPS” (№№ 28, 29, 30, 31, 32, 33). Появился новый сайт проекта (http://fps-magazine.cf). Также “FPS” теперь доступен в качестве мобильного приложения для Android и iOS. Кстати, в феврале 2015 года журналу исполняется уже 7 лет!
    • Вышла игра 2048х2 – клон 2048 для двух игроков.
    • Улучшен физический движок dmech: реализован новый кэш контактов, добавлена поддержка составных тел, улучшена поддержка ограничений, добавлены статические тримеши, поддержка raycast и игровой кинематики.
    • Графический движок Atrium теперь развивается как самостоятельный проект – DGL. Это объектно-ориентированная надстройка над OpenGL, SDL и Freetype с собственной системой событий, виртуальной файловой системой с поддержкой ZIP-архивов, своим форматом хранения сцен, поддержкой шейдеров, мультитекстурирования, скелетной анимации, выводом текста в UTF-8, а также встроенными средствами интернационализации.
    • Разработан скриптовый язык GScript – минималистичный императивный язык с динамической типизацией, идейно близкий к D, JavaScript и Python. GScript можно будет использовать в качестве скриптовой системы в игровых движках.
    • Вышла новая версия системы сборки проектов Cook 2.0.1 – с новой системой аргументов командной строки, обновленным парсером импортов, поддержкой внешних зависимостей (в том числе из Git-репозиториев), улучшенной системой конфигурации.
    • Обновилась страница проекта Atrium.

    Итоги 2013 года

    Завершился 2013 год, в течение которого я всеми силами старался выкроить свободное время для работы над Atrium и сопутствующими инструментами. Подведу итоги: что было сделано, какие в прошедшем году произошли важные релизы и достижения.

    • Сециально для Atrium был разработан игровой физический движок dmech с поддержкой нескольких видов геометрических тел и сочленений. Он еще далек от совершенства, но уже пригоден для использования в простых задачах игровой динамики;
    • Было выпущено 6 номеров электронно-познавательного журнала “FPS” (№№ 22, 23, 24, 25, 26, 27). Кстати, в феврале 2014 года журналу исполняется 6 лет!
    • Состоялось серьезное обновление dlib: в частности, пакетов dlib.math и dlib.image. Библиотека обогатилась новой функциональностью, переехала на GitHub и обзавелась поддержкой DUB;
    • Вышла Cook2, экспериментальная ветка программы сборки проектов Cook со значительными изменениями и улучшениями;
    • Вышла альфа-версия Arrow – тетрисоподобной игры-головоломки с оригинальной механикой.

    Огромное спасибо всем, кто так или иначе помогал мне в течение года:

    • Андрею Пенечко (MrSmith33) – за багрепорты и багфиксы в dlib;
    • Наталии Чумаковой (d_o_r_i_a_n_a) – за помощь по матчасти и тестирование всех программ на Windows 7, а также за сотрудничество по журналу;
    • Александру Санникову (Suslik) – за советы и помощь по физике.