Երեք ամիս շարունակ անդունդի աշխատանքից հետո դուրս եկավ 0.15 տարբերակը ThorVG վեկտորային գրադարանի, որը գրված է C++ լեզվով (C++14 ստանդարտ) և տարածվում է MIT լիցենզիայի ներքո։ Գրադարանը օգտագործվում է վեկտորային գրաֆիկան պատկերելու համար նման նախագծերում, ինչպիսիք են Tizen OS, Godot Engine, LVGL և նվագարկիչներ dotLottie.
Thor Vector Graphics (ThorVG) – այս փոքրիկ ու շարժական բաց կոդով գրադարանը նախատեսված է վեկտորային տեսարանների և անիմացիաների տեսողականացման համար, ներառելով ձևաչափեր SVG Tiny 1.2, Lottie և սեփական TVG ձևաչափը (SVG, LZW ալգորիթմով սեղմված) LZW).
Գրադարանը տրամադրում է հարմար API-ներ վեկտորային գրGraphics տարածելու, ստեղծելու և դիտելու համար, ինչպես նաև դրանց արտահանելուր երեքի տարբեր գրապագային ձևաչափերին, ինչը այն դարձնում է համընդհանուր տարբեր ծրագրային հարթակներում և գրաֆիկական կոնտենտի ներկայացման ծրագրերում։
#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; }
Գրադարանն ունի նաեւ lottie2gif, svg2png և svg2tvg օգտակար ծրագրեր։
Նոր տարբերակը պարունակում է մի շարք զգալի բարելավումներ՝
- շատ բացվել է արդյունավետությունը, ֆունկցիոնալությունը և WebGPU շարժիչի կայունությունը;
- պրամորեն մոտ երեք անգամ աճի Ռենդերի արդյունավետությունը;
- պարունակողների արդյունավետությունը և տարբերOverlay մեթոդները մեծացրել են;
- շատ նվազեցվել է GPU հիշողության բեռնվածությունը;
- ավելացվել է եզրերի կտրելու և տեսանելի տարածքների կառավարումը;
- շատ բարելավվել է Lottie անիմացիաների իրագործումը;
- ThorVG-ում ամենամեծ լրացումն է Lottie անիմացիաների շերտերի աջակցությունը;
- Lottie անիմացիաների ինտերակտիվ հնարավորություններ ավելացվել են;
- տեքստի անիմացիան լավացվել է;
- Bezier ծալված կետերի հաշվարկման ալգորիթմը լավացվել է;
- ավելացվել է տարբեր ավարտական գործողությունների կիրառման հնարավորություն տեսարանում;
- նեքֆոխների բարդ լինի գտնելու լավացում-արգելգարդարն է;
- OpenGL շարժիչում հզորության բարելավումներ շարունակական են;
- նոր կայուն և փորձնական API-ներ ավելացվել են;
- իրավիճակներում շտկված ողջ թիվը։
Ընտանիք: linux.org.ru
