След три месеца усилена работа, се състоява издаването на версия 0.15 на библиотеката за векторна графика ThorVG, написана на C++ (стандарт C++14) и разпространявана под MIT лицензия. Библиотеката се използва за рендериране на векторна графика в такива проекти, като Tizen OS, Godot Engine, LVGL и плеери dotLottie..
Thor Векторна Графика (ThorVG) е лека и портативна библиотека с отворен код, предназначена за визуализиране на векторни сцени и анимации, включително формати SVG Tiny 1.2, Lottie и собствен формат TVG (SVG, компресирано чрез LZW).
Библиотеката предлага удобни API за импортиране, създаване и показване на векторна графика, а също така за нейния експорт в различни графични формати, което я прави универсална за използване в различни софтуерни платформи и приложения за визуализация на графично съдържание:
#include "Example.h" using namespace std; void exportGif() { auto animation = tvg::Animation::gen(); auto picture = animation->picture(); if (!tvgexam::verify(picture->load(EXAMPLE_DIR"/lottie/walker.json"))) return; picture->size(800, 800); auto saver = tvg::Saver::gen(); if (!tvgexam::verify(saver->save(std::move(animation), "./test.gif"))) return; saver->sync(); cout << "Successfully exported to test.gif." << endl; } int main(int argc, char **argv) { if (tvgexam::verify(tvg::Initializer::init(0))) { exportGif(); tvg::Initializer::term(); } return 0; }
С библиотеката също така идват инструментите lottie2gif, svg2png и svg2tvg.
Новата версия съдържа редица значителни подобрения:
- значително подобрена производителност, функционалност и стабилност на движка WebGPU;
- приблизително три пъти увеличена производителност на рендеринга на щрихи;
- повишена производителност на маскиране и различни методи на наслояване;
- значително намалено натоварване на паметта на GPU;
- добавена поддръжка на изрязване на контури и управление на видимите области на екрана;
- значително подобрена реализация на анимации Lottie;
- най-голямото допълнение в ThorVG е поддръжката на слоеве в анимации Lottie;
- добавени интерактивни възможности в анимации Lottie;
- подобрена анимация на текст;
- подобрен алгоритъм за изчисление на контрольни точки на Безие криви с изместване;
- добавена възможност за прилагане на различни ефекти след обработка на сцената;
- добавена поддръжка на съставни глифове на текст;
- в OpenGL движка производителността на композиции е подобрена;
- добавени нови стабилни и експериментални API;
- изправени множество бъгове.
Източник: linux.org.ru
