вторник, 31 мая 2016 г.

dlib и Cook в Awesome D

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

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

среда, 25 мая 2016 г.

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

Оказалось, что нынешний формат, в котором хранятся модели для DGL, крайне неэффективен - меши хранятся в виде списка треугольников, и большие модели (1000 полигонов и более) загружаются движком неприлично долго. Сейчас экспериментирую с новым форматом, в котором данные хранятся в виде традиционных буферов вершин и индексов - как и следовало ожидать, любые модели теперь грузятся практически мгновенно.
Средства для загрузки нового формата в DGL и экспорта из Blender уже доступны в репозитории движка. Правда, я еще не определился с форматом хранения материалов - есть идея хранить вместе с моделью только базовые характеристики материала, которые можно получить из Blender (текстуры, цвета), а расширенные настройки, специфичные для DGL, загружать из отдельных внешних файлов с текстовым описанием.

суббота, 14 мая 2016 г.

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.