dlib и Cook в Awesome D

Два моих проекта – коллекцию библиотек dlib и программу сборки Cook2 – включили в репозиторий Awesome D – список самых интересных проектов на языке D, созданный по образцу Awesome Python. Там они стоят в одном ряду с Derelict, Dub, Vibe.d, GtkD, Orange, Mir и другими известными библиотеками и фреймворками.

https://github.com/zhaopuming/awesome-d

dlib 0.9.0 beta

Вышла бета-версия коллекции библиотек dlib 0.9.0. Из основных нововведений стоит отметить новый модуль dlib.math.tensor – реализацию тензоров с поддержкой как статического, так и динамического выделения памяти (еще один шаг, приближающий dlib к NumPy и Matlab). Также значительно улучшен пакет dlib.image: появился экспорт в BMP и TGA, двумерный foreach для изображений, диапазоны для окон и произвольных прямоугольных регионов. Новый пакет dlib.network, как планируется, будет содержать независимую от Phobos поддержку сети и веб-функциональность (пока в нем есть только парсер URL).

А еще Atrium был успешно портирован под FreeBSD.

dlib.image и OpenCL

На сайте LightHouse Software вышла моя гостевая статья, посвященная обработке изображений на GPU средствами OpenCL и dlib. Рассматривается биндинг DerelictCL и реализация ядра для простейшего оконного фильтра (box blur), через который пропускается изображение dlib.image.

dlib 0.8.0

Встречайте новую версию коллекции библиотек dlib – 0.8.0. Это весьма значимый релиз, так как в нем дебютирует новый пакет dlib.audio – набор инструментов для обработки звука. Но – обо всем по порядку:

  • Исправлен серьезный баг в dlib.core.thread, связанный с удалением неинициализированного потока.
  • Новый пакет dlib.audio содержит абстрактные интерфейсы для аудиоданных (как потоковых, так и хранящихся в памяти), а также простейшие реализации этих интерфейсов. Пакет поддерживает 8 и 16-битные сэмплы, произвольные количества каналов и значения частоты дискретизации. Доступ к сэмплам и их обработка осуществляются числами с плавающей запятой. Есть сохранение и загрузка аудиофайлов формата WAV, в будущем планируется поддержка FLAC и, возможно, других форматов.
  • Сильно обновлен пакет dlib.image – все фильтры и операции над изображениями теперь поддерживают ручное управление памятью. Добавлен новый фильтр chroma key на основе евклидового расстояния, а также новый алгоритм выделения границ на основе морфологического градиента. Исправлено несколько критичных багов (в частности, в свертке изображений, бикубическом и lanczos-ресэмплинге).
  • В dlib.filesystem улучшен модуль stdfs (реализация FileSystem с ручным управлением памятью) – появилась поддержка создания и обхода каталогов, удаления каталогов и файлов.
  • В репозиторий dlib добавлены инструменты для автоматической подготовки HTML-документации из вики-страниц проекта.

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