Após três meses de trabalho árduo, foi liberada a versão 0.15 da biblioteca de gráficos vetoriais ThorVG, escrita em C++ (padrão C++14) e licenciada sob a MIT. A biblioteca é usada para renderização de gráficos vetoriais em projetos como Tizen OS, Godot Engine, LVGL e players dotLottie.
Thor Vector Graphics (ThorVG) é uma biblioteca leve e portátil de código aberto, destinada à visualização de cenas e animações vetoriais, incluindo formatos SVG Tiny 1.2, Lottie e seu próprio formato TVG (SVG comprimido com o algoritmo LZW).
A biblioteca oferece APIs convenientes para importar, criar e exibir gráficos vetoriais, bem como para exportá-los para vários formatos gráficos, tornando-a versátil para uso em diversas plataformas de software e aplicativos de visualização de conteúdo gráfico:
#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; }
A biblioteca também inclui utilitários lottie2gif, svg2png e svg2tvg.
A nova versão contém uma série de melhorias significativas:
- o desempenho, funcionalidade e estabilidade do motor WebGPU foram consideravelmente melhorados;
- aproximadamente três vezes mais desempenho na renderização de traços;
- a performance de mascaramento e de vários métodos de sobreposição foi aumentada;
- a carga na memória da GPU foi consideravelmente reduzida;
- suporte para recorte de contorno e controle de áreas visíveis na tela foi adicionado;
- a implementação de animações Lottie foi significativamente melhorada;
- a maior adição ao ThorVG é o suporte para camadas em animações Lottie;
- recursos interativos foram adicionados nas animações Lottie;
- a animação de texto foi aprimorada;
- o algoritmo de cálculo dos pontos de controle de curvas de Bézier com deslocamento foi melhorado;
- a capacidade de aplicar vários efeitos de pós-processamento à cena foi adicionada;
- suporte para glifos compostos de texto foi adicionado;
- a performance de composições no motor OpenGL foi aprimorada;
- novas APIs estáveis e experimentais foram adicionadas;
- muitos bugs foram corrigidos.
Fonte: linux.org.ru
