ThorVG 0.15

good-penguin.png

После трёх месяцев упорной работы состоялся выпуск 0.15 библиотеки векторной графики ThorVG, написанной на языке C++ (стандарт C++14) и распространяемой по лицензии MIT. Библиотека используется для рендеринга векторной графики в таких проектах, как Tizen OS, Godot Engine, LVGL и плееров dotLottie.

Thor Vector Graphics (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