Осталось только переписать систему частиц, и ветку gl33 можно будет сделать основной.
animation
Анимация в dlib
Меня внезапно осенило, как можно добавить в dlib.image поддержку анимации без существенного рефакторинга библиотеки. Классы анимированных изображений (SuperAnimatedImage) могут быть простым расширением базового класса SuperImage с возможностью хранить несколько кадров и переключаться между ними. Такие изображения полностью совместимы с любым кодом, работающим с SuperImage – чтению и записи через привычный интерфейс SuperImage подлежит срез данных, относящийся к текущему кадру.
Также естественным образом вводится класс-фабрика для создания анимированных изображений, и в результате стало возможным расширить декодер PNG до поддержки APNG:
AnimatedImageFactory imgFac = new AnimatedImageFactory;
auto res = loadPNG(openForInput("animation.apng"), imgFac);
if (res[0])
{
SuperAnimatedImage animImg = cast(SuperAnimatedImage)res[0];
}
Поддержка IQM в DGL
IQM спроектирован в качестве замены MD5 известным разработчиком Ли Сальцманом, лидером проектов Sauerbraten, Tesseract и ENet. В настоящее время формат используется многими свободными играми и движками, в том числе Sauerbraten, DarkPlaces, Alien Arena, Xonotic и Warsow.
Формат бинарный, не привязан к какому-либо движку или графической технологии, легко читается и записывается. Существует полнофункциональный экспортер в IQM для Blender, что делает этот формат идеальным выбором для открытых игровых проектов.