ThorVG 0.15

Π‘Π»Π΅Π΄ Ρ‚Ρ€ΠΈ мСсСца ΡƒΠΏΠΎΡ€Π΅Π½ Ρ‚Ρ€ΡƒΠ΄ бСшС пусната вСрсия 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" 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 Π΄Π²ΠΈΠΆΠΊΠ°;
  • ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‚Ρ€ΠΈ ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-висока производитСлност ΠΏΡ€ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²Π΅;
  • повишСна производитСлност ΠΏΡ€ΠΈ маскиранС ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π½Π° Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅;
  • Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ намаляванС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° GPU ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°;
  • Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° рязанС Π½Π° ΠΊΠΎΠ½Ρ‚ΡƒΡ€ΠΈ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΠ΄ΠΈΠΌΠΈΡ‚Π΅ области Π½Π° Π΅ΠΊΡ€Π°Π½Π°;
  • Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° рСализация Π½Π° Lottie Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ;
  • Π½Π°ΠΉ-голямото допълнСниС Π² ThorVG Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° слоСвС Π² Lottie Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ;
  • Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π² Lottie Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ;
  • ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° Π΅ анимацията Π½Π° тСкст;
  • ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π·Π° изчисляванС Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° Π‘Π΅Π·ΠΈΠ΅ ΠΊΡ€ΠΈΠ²ΠΈ със смСщСниС;
  • Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈ Π½Π° постобработка Π²ΡŠΡ€Ρ…Ρƒ сцСната;
  • Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° слоТни Π³Π»ΠΈΡ„ΠΎΠ²Π΅ Π½Π° тСкста;
  • Π² OpenGL Π΄Π²ΠΈΠΆΠΊΠ° Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° производитСлността Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈΡ‚Π΅;
  • Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ стабилни ΠΈ СкспСримСнтални API;
  • отстранСни са мноТСство бъговС.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster