PÀrast kolme kuud kÔva tööd ilmus vÀlja ThorVG vektorgraafika raamatukogu versioon 0.15, mis on kirjutatud C++ keeles (C++14 standard) ja levitatakse MIT litsentsi alusel. Raamatukogu kasutatakse veektorgraafika renderdamiseks sellistes projektides nagu Tizen OS, Godot Engine, LVGL ja mÀngijates dotLottie.
Thor vektorgraafika (ThorVG) on kerge ja kantav avatud allika raamatukogu, mis on mÔeldud vektorite stseenide ja animatsioonide visualiseerimiseks, sealhulgas formaatide jaoks SVG Tiny 1.2, Lottie ja oma formaat TVG (SVG, LZW-iga komprimeeritud) LZW).
Raamatukogu pakub mugavaid API-sid vektorgraafika importimiseks, loomiseks ja kuvamiseks, samuti selle eksportimiseks erinevatesse graafilistesse formaatidesse, mis teeb selle universaalseks kasutamiseks erinevates tarkvaraplatformides ja graafilise sisu visualiseerimise rakendustes:
#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; }
Raamatuga kaasnevad ka utiliidid lottie2gif, svg2png ja svg2tvg.
Uus versioon sisaldab mitmeid olulisi tÀiustusi:
- tugevdatud on WebGPU mootori jÔudlust, funktsionaalsust ja stabiilsust;
- umbes kolm korda suurem joonistamise jÔudluse kasv;
- tĂ”hustatud maskimise ja erinevate ĂŒlekattetehnika jĂ”udlus;
- mÀrgatavalt vÀhenenud GPU mÀlu koormus;
- lisatud on kontuuri kÀrpimise ja nÀhtavate ekraanipiirkondade kontrollimise tugi;
- oluliselt parendatud Lottie animatsioonide teostus;
- ThorVG kÔige olulisem tÀiendus on kihitugi Lottie animatsioonides;
- lisatud on interaktiivsed vÔimalused Lottie animatsioonides;
- parandatud on tekstianimatsiooni;
- parandatud on Bezieri kÔverate kontrollpunktide arvutamise algoritmi nihkega;
- lisatud on vÔimalus rakendada erinevaid jÀrgselt töötlemise efekte stseenile;
- lisatud on toetust teksti komposiitglĂŒffidele;
- OpenGL mootori koosseisude jÔudlust on parandatud;
- lisatud on uued stabiilsed ja eksperimentaalsed API-d;
- parandatud on arvukalt vigu.
Allikas: linux.org.ru
