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
