Po treh mesecih trdega dela je izšla različica 0.15 knjižnice za vektorsko grafiko ThorVG, napisane v jeziku C++ (standard C++14) in distribuirane pod licenco MIT. Knjižnica se uporablja za risanje vektorske grafike v projektih, kot so Tizen OS, Godot Engine, LVGL in predvajalnikov dotLottie.
Thor Vector Graphics (ThorVG) je lahka in prenosna knjižnica z odprto kodo, namenjena vizualizaciji vektorskih scen in animacij, vključno s formati SVG Tiny 1.2, Lottie in lastnim formatom TVG (SVG, stisnjen z algoritmom LZW).
Knjižnica nudi prijazne API-je za uvoz, ustvarjanje in prikazovanje vektorske grafike ter za njeno izvoz v različne grafične formate, kar jo naredi vsestransko uporabno v različnih programskih platformah in aplikacijah za vizualizacijo grafičnih vsebin:
#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; }
Knjižnica vključuje tudi orodja lottie2gif, svg2png in svg2tvg.
Nova različica prinaša vrsto pomembnih izboljšav:
- veliko je bila izboljšana zmogljivost, funkcionalnost in stabilnost motorja WebGPU;
- približno trikratna rast zmogljivosti risanja črt;
- izboljšana zmogljivost maskiranja in različnih metod prekrivanja;
- močno je zmanjšano obremenitev GPU pomnilnika;
- dodana podpora za obrezovanje kontur in upravljanje s vidnimi področji zaslona;
- močno je izboljšana izvedba animacij Lottie;
- največja novost v ThorVG je podpora za plasti v animacijah Lottie;
- dodane so interaktivne možnosti v animacijah Lottie;
- izboljšana je animacija besedila;
- izboljšan je algoritem za izračun kontrolnih točk krivulj Bezier s premikom;
- dodana je možnost uporabe različnih učinkov postprodukcije na sceni;
- dodana je podpora za sestavljene glife besedila;
- v motorju OpenGL je izboljšana zmogljivost kompozicij;
- dodane so nove stabilne in eksperimentalne API-je;
- odpravljeno je bilo veliko napak.
Izvor: linux.org.ru
