Efter tre mÄnaders hÄrt arbete har version 0.15 av biblioteket för vektorgrafik ThorVG slÀppts, skrivet i C++ (standard C++14) och distribueras under MIT-licensen. Biblioteket anvÀnds för att rendera vektorgrafik i projekt som Tizen OS, Godot Engine, LVGL och spelare dotLottie.
Thor Vector Graphics (ThorVG) Àr ett lÀttviktigt och portabelt bibliotek med öppen kÀllkod, avsett för visualisering av vektorbaserade scener och animationer, inklusive format SVG Tiny 1.2, Lottie och det egna formatet TVG (SVG, komprimerat med algoritmen LZW).
Biblioteket erbjuder anvÀndarvÀnliga API:er för import, skapande och visning av vektorgrafik samt för export till olika grafiska format, vilket gör det mÄngsidigt för anvÀndning pÄ olika programplattformer och i applikationer för visualisering av grafiskt innehÄll:
#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; }
Biblioteket levereras ocksÄ med verktygen lottie2gif, svg2png och svg2tvg.
Den nya versionen innehÄller ett antal betydande förbÀttringar:
- prestandan, funktionen och stabiliteten hos WebGPU-motorn har förbÀttrats avsevÀrt;
- ungefÀr tredubbelt ökad renderingsprestanda för linjer;
- ökat prestanda för maskering och olika blandningsmetoder;
- betydligt minskad belastning pÄ GPU-minnet;
- stöd för beskÀrning av konturer och hantering av synliga skÀrmomrÄden har lagts till;
- implementeringen av Lottie-animationer har förbÀttrats avsevÀrt;
- den största tillÀgget i ThorVG Àr stödet för lager i Lottie-animationer;
- interaktiva funktioner har lagts till i Lottie-animationerna;
- textanimationen har förbÀttrats;
- algoritmen för berÀkning av kontrollpunkter för Bézier-kurvor med förskjutning har förbÀttrats;
- möjligheten att tillÀmpa olika effekter efterbehandling pÄ scener har lagts till;
- stöd för sammansatta textglykfer har lagts till;
- prestandan för kompositioner i OpenGL-motorn har förbÀttrats;
- nya stabila och experimentella API:er har lagts till;
- mÄnga fel har ÄtgÀrdats.
KĂ€lla: linux.org.ru
