LINUX.ORG.RU

ThorVG 0.15

 , , , ,

ThorVG 0.15

0

2

После трёх месяцев упорной работы состоялся выпуск 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;
  • исправлено множество ошибок.

>>> Полный список изменений

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 12)
Ответ на: комментарий от dataman

Да, так понятнее, спс. Интересно, кстати, эффект размытия тигра – это тоже средствами векторной графики делается, или обработка после отрисовки в пиксели.

добавлена возможность применять различные эффекты постобработки к сцене;

apt_install_lrzsz ★★★
()

Блиин! И эту гадину, когда она еще была без VG, я пытался русифицировать лет 20 назад! Надо самоубиться, так долго не живут.

Old-Cat
()
Ответ на: комментарий от hobbit

Вы что, уважаемый, через 20 лет пользования опенсорсом жизнь только начинается… :)))

Продолжается, я бы сказал :)

Old-Cat
()
Ответ на: комментарий от buddhist

Удивлён, что оно ещё живо

На нём smarttv делают

annulen ★★★★★
()
Ответ на: комментарий от water_closed

Да, хотя бы поэтому:

Limitations.
No animations. There are no plans on implementing them either.

dataman ★★★★★
() автор топика

Интересен вопрос об ускорении векторной графики.
В свете судьбы OpenVG и нынешнего зоопарка 2D библиотек.

mrjaggers
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.