dlib 0.13.0 и Dagon 0.7.0
На днях состоялись новые релизы двух основных моих проектов – dlib 0.13.0 и Dagon 0.7.0.
Изменения в dlib:
- Из основной ветки был удален пакет dlib.async. Решение об удалении было принято из соображений безопасности. К сожалению, у пакета в настоящее время нет активных мейнтейнеров, некому исправлять баги, поэтому я посчитал dlib.async недостаточно стабильным для существования в качестве официальной части dlib – хотелось бы, чтобы все компоненты dlib были в одинаковой степени актуальны и поддерживаемы. dlib.async продолжит существование в рамках ветки async, но пользователям рекомендую обратить внимание на более актуальные и законченные асинхронные движки – такие, как vibe-core
- Добавлен модуль dlib.image.canvas с реализацией класса Canvas – векторного рендер-движка с интерфейсом, похожим на HTML5 canvas. В настоящее время он поддерживает отрисовку полигонов и фигур Безье с заливкой и контуром. Рендеринг осуществляется в заданное пользователем изображение SuperImage.
- Улучшен декодер файлов Radiance HDR/RGBE – теперь он читает файлы, начинающиеся со строки “#?RGBE”
- Добавлены функции tone mapping’а (hdrTonemapReinhard, hdrTonemapHable), новые алгоритмы выделения краев (edgeDetectLaplace, edgeDetectSobel), новые методы для структуры Color4f (toLinear, toGamma)
- Добавлены новые функции для векторов (reflect, refract, faceforward)
- Добавлены функции для вычисления касательного вектора кривых Безье (bezierTangentVector2, bezierTangentVector3).
Изменения в Dagon:
- Полноценный HDR-рендеринг с автоматической экспозицией и tone mapping’ом
- Поддержка HDR-карт окружения в формате Radiance HDR/RGBE
- Улучшенные каскадные тени (более эффективное заполнение каскадами пирамиды видимости)
- Переписан весь код, отвечающий за PBR. Теперь используется модель Кука-Торренса вместо Блинна-Фонга. Добавлена поддержка текстур шероховатости (roughness) и металличности (metallic)
- Переписана система пост-обработки. Все фильтры теперь являются частью стандартной сцены (BaseScene3D), их остается только включить и настроить. Добавлены фильтры размытия при движении, свечения и цветокоррекции (LUT), улучшен фильтр хроматической аберрации
- Улучшено встроенное процедурное небо – теперь движок сам генерирует геометрию небесного купола
- Добавлены слои для сортировки объектов при рендеринге
- Камера от первого лица облегчает рендеринг оружия в шутерах, предоставляя матрицу оружия
- Улучшена поддержка джойстиков, добавлена поддержка рулей
- Dagon теперь использует dlib 0.13.0.
Обновление демонстрационного приложения с использованием Dagon 0.7.0 планируется в ближайшие дни.