Pēc trīs mēnešu smaga darba tika izlaista 0.15 ThorVG vektorgrafikas bibliotēka, kas rakstīta C++ (C++14 standarts) un izplatīta ar MIT licenci. Bibliotēka tiek izmantota vektorgrafikas renderēšanai tādos projektos kā Tizen OS, Godot Engine, LVGL un atskaņotājos dotLottie.
Thor Vektorgrafika (ThorVG) – tā ir viegla un pārnēsājama atvērtā koda bibliotēka, kas paredzēta vektoru skatu un animāciju vizualizēšanai, tostarp formātiem SVG Tiny 1.2, Lottie un īpašam formātam TVG (SVG, kas saspiests ar LZW).
Bibliotēka nodrošina ērti API lai importētu, izveidotu un attēlotu vektorgrafiku, kā arī eksportētu to dažādos grafiskos formātos, padarot to universālu lietošanai dažādās programmatūras platformās un grafiskā satura vizualizācijas lietotnēs:
#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; }
Bibliotēkai ir pievienoti arī rīki lottie2gif, svg2png un svg2tvg.
Jaunajā versijā ir iekļauti vairāki nozīmīgi uzlabojumi:
- significantly improved performance, functionality and stability of the WebGPU engine;
- aptuveni trīskāršs renderēšanas veiktspējas pieaugums;
- uzlabota maskēšanas un dažādu pārklājuma metožu veiktspēja;
- zásitnēti samazināta GPU atmiņas slodze;
- pievienota atbalsta kontūru nogriešanai un redzamo ekrāna apgabalu kontrolei;
- significantly improved implementation of Lottie animations;
- vislielākais papildinājums ThorVG ir atbalsts līmeņiem Lottie animācijās;
- pievienotas interaktīvās iespējas Lottie animācijās;
- uzlabota teksta animācija;
- uzlabots Bézier līkņu kontroles punktu aprēķina algoritms ar nobīdi;
- pievienota iespēja izmantot dažādus pēcapstrādes efektus ainā;
- pievienots atbalsts kompozītā tekstā;
- OpenGL dzinī uzlabota kompozīciju veiktspēja;
- pievienoti jauni stabilie un eksperimentālie API;
- novērstas daudzas kļūdas.
Avots: linux.org.ru
