dlib 0.14.0
- SuperImage.pixelFormat теперь возвращает значение типа uint. Это было сделано для того, чтобы можно было расширять dlib.image новыми пиксельными форматами. Значения от 0 до 255 зарезервированы для dlib и используются в стандартных константах PixelFormat. Вместо PixelFormat.RGBA_FLOAT рекомендуется использовать FloatPixelFormat.RGBAF32 из dlib.image.hdri, поскольку в будущем будут добавлены новые float-форматы.
- Реализовано сохранение изображений в формат Radiance HDR/RGBE (ранее была доступна только загрузка).
- Добавлены новые фильтры: dlib.image.filters.histogram, dlib.image.filters.binarization.
- Добавлен новый tonemapper – hdrTonemapACES.
- Улучшен dlib.image.canvas. Растеризатор фигур Безье теперь поддерживает антиалиасинг (ранее антиалиасинг осуществлялся путем растеризации псевдоконтура алгоритмом Ву). Исправлен баг с рендерингом на неквадратных холстах.
- В dlib.audio.synth добавлен объектно-ориентированный фреймворк для создания звуковых синтезаторов. Доступны три встроенных синтезатора: SineWaveSynth, SquareWaveSynth, FMSynth. Для рендеринга звука с произвольным синтезатором есть две функции – fillSynth и mixSynth.
- Добавлен модуль dlib.math.smoothstep с реализациями сигмоид: hermiteSmoothstep, rationalSmoothstep.
- Добавлена поддержка DMD 2.081.0 в dlib.core.stream.
Важно: начиная с 0.14.0, dlib не поддерживает macOS. О причинах этого бойкота я ранее высказывался в блоге. Скорее всего, функциональность, основанная на POSIX, продолжит работать нормально, но никаких гарантий на будущее нет, и проблемами совместимости с macOS, если они возникнут, я заниматься не буду. Непрерывная интеграция для macOS на Travis также была остановлена. В общем, рекомендую перейти на Linux, FreeBSD или Windows.
P.S. На сайте LightHouse Software за последние месяцы вышли две мои новые статьи:
Хочу также отметить статью aquaratixc Бинаризация методом Оцу в dlib, код из которой вошел в состав dlib 0.14.0.
P.P.S. К сожалению, пока не могу сказать, когда выйдет новая версия Dagon с отложенным рендером. Очень многое еще нужно дописать и реализовать. Но по завершении работы над Dagon 0.9 я планирую перевести на него Atrium, так что самое интересное только начинается.