Μετά από τρεις μήνες σκληρής δουλειάς, κυκλοφόρησε το 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).
Η βιβλιοθήκη παρέχει βολικά API για εισαγωγή, δημιουργία και εμφάνιση διανυσματικών γραφικών, καθώς και για την εξαγωγή τους σε διάφορες μορφές γραφικών, γεγονός που το καθιστά καθολικό για χρήση σε διάφορες πλατφόρμες λογισμικού και εφαρμογές οπτικοποίησης γραφικού περιεχομένου:
#include "Example.h" χρησιμοποιώντας namespace std; void exportGif() { auto animation = tvg::Animation::gen(); auto picture = animation->picture(); εάν (!tvgexam::verify(picture->load(EXAMPLE_DIR"/lottie/walker.json"))) επιστρέψει; εικόνα->μέγεθος(800, 800); auto saver = tvg::Saver::gen(); αν (!tvgexam::verify(saver->save(std::move(animation), "./test.gif"))) επιστρέψει; saver-> sync(); cout << "Έγινε επιτυχής εξαγωγή στο test.gif." << endl; } int main(int argc, char **argv) { if (tvgexam::verify(tvg::Initializer::init(0))) {exportGif(); tvg::Initializer::term(); } επιστροφή 0; }
Η βιβλιοθήκη διαθέτει επίσης τα βοηθητικά προγράμματα lottie2gif, svg2png και svg2tvg.
Η νέα έκδοση περιέχει μια σειρά από σημαντικές βελτιώσεις:
- Σημαντικά βελτιωμένη απόδοση, λειτουργικότητα και σταθερότητα του κινητήρα WebGPU.
- περίπου τριπλάσια αύξηση στην απόδοση απόδοσης εγκεφαλικού επεισοδίου.
- Βελτιωμένη απόδοση κάλυψης και διάφορων μεθόδων επικάλυψης.
- σημαντικά μειωμένο φορτίο μνήμης GPU.
- προστέθηκε υποστήριξη για την περικοπή περιγραμμάτων και τη διαχείριση ορατών περιοχών της οθόνης.
- Η εφαρμογή Lottie animation έχει βελτιωθεί σημαντικά.
- Η μεγαλύτερη προσθήκη στο ThorVG είναι η υποστήριξη για επίπεδα σε κινούμενα σχέδια Lottie.
- προστέθηκαν διαδραστικές δυνατότητες στα κινούμενα σχέδια Lottie.
- Βελτιωμένη κίνηση κειμένου.
- Βελτιωμένος αλγόριθμος για τον υπολογισμό των σημείων ελέγχου των καμπυλών Bezier με μετατόπιση.
- πρόσθεσε τη δυνατότητα εφαρμογής διαφόρων εφέ μετα-επεξεργασίας στη σκηνή.
- προστέθηκε υποστήριξη για γλυφές σύνθετου κειμένου.
- Η απόδοση σύνθεσης έχει βελτιωθεί στον κινητήρα OpenGL.
- προστέθηκαν νέα σταθερά και πειραματικά API.
- διορθώθηκαν πολλά σφάλματα.
Πηγή: linux.org.ru
