{"id":120076,"date":"2024-10-08T01:09:18","date_gmt":"2024-10-07T23:09:19","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/thorvg-0-15"},"modified":"2024-10-08T01:09:18","modified_gmt":"2024-10-07T23:09:19","slug":"thorvg-0-15","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/thorvg-0-15","title":{"rendered":"ThorVG 0.15","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"ThorVG 0.15\" src=\"\/wp-content\/uploads\/2024\/10\/ffa00b7aed7f6347060ad5962cbce811.jpg\" style=\"display:block;margin: 0 auto;\" \/>                                <noindex>      <noindex><\/p>\n<p>After three months of hard work, version 0.15 of the ThorVG vector graphics library, written in C++ (C++14 standard) and distributed under the MIT license, has been released. The library is used for rendering vector graphics in projects such as <a rel=\"nofollow\" href=\"https:\/\/www.tizen.org\">Tizen OS<\/a>, <a rel=\"nofollow\" href=\"https:\/\/godotengine.org\">Godot Engine<\/a>, <a rel=\"nofollow\" href=\"https:\/\/lvgl.io\">LVGL<\/a> and players <a rel=\"nofollow\" href=\"https:\/\/dotlottie.io\/players\">dotLottie<\/a>.<\/p>\n<p><\/noindex><\/noindex>  <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/www.thorvg.org\">Thor Vector Graphics<\/a> (ThorVG) \u2013 a lightweight and portable open-source library designed for visualizing vector scenes and animations, including formats <a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/SVGTiny12\">SVG Tiny 1.2<\/a>, <a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Lottie_(file_format)\">Lottie<\/a> and its own TVG format (SVG, compressed with the <a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Lempel\u2013Ziv\u2013Welch_algorithm\">LZW<\/a>).<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>The library provides <a rel=\"nofollow\" href=\"https:\/\/www.thorvg.org\/apis\">convenient APIs<\/a> algorithm for importing, creating, and displaying vector graphics, as well as exporting them to various graphic formats, making it versatile for use across different software platforms and applications for visualizing graphic content:<\/p>\n<p><\/noindex> #include &quot;Example.h&quot;  using namespace std;  void exportGif() {     auto animation = tvg::Animation::gen();     auto picture = animation-&gt;picture();     if (!tvgexam::verify(picture-&gt;load(EXAMPLE_DIR&quot;\/lottie\/walker.json&quot;))) return;      picture-&gt;size(800, 800);      auto saver = tvg::Saver::gen();     if (!tvgexam::verify(saver-&gt;save(std::move(animation), &quot;.\/test.gif&quot;))) return;     saver-&gt;sync();      cout &lt;&lt; &quot;Successfully exported to test.gif.&quot; &lt;&lt; endl; }  int main(int argc, char **argv) {     if (tvgexam::verify(tvg::Initializer::init(0))) {          exportGif();          tvg::Initializer::term();     }     return 0; }   <\/p>\n<p>The library also comes with the utilities lottie2gif, svg2png, and svg2tvg.<\/p>\n<p>The new version includes a number of significant improvements:<\/p>\n<ul>\n<li>performance, functionality, and stability of the WebGPU engine have been significantly enhanced;<\/li>\n<li>approximately a threefold increase in rendering performance for strokes;<\/li>\n<li>improved performance in masking and various blending methods;<\/li>\n<li>significantly reduced GPU memory load;<\/li>\n<li>added support for contour clipping and control of visible screen areas;<\/li>\n<li>greatly improved implementation of Lottie animations;<\/li>\n<li>the biggest addition to ThorVG is layer support in Lottie animations;<\/li>\n<li>interactive capabilities have been added to Lottie animations;<\/li>\n<li>text animation has been improved;<\/li>\n<li>the algorithm for calculating the control points of offset B\u00e9zier curves has been enhanced;<\/li>\n<li>the ability to apply various post-processing effects to the scene has been added;<\/li>\n<li>support for composite text glyphs has been introduced;<\/li>\n<li>composition performance has been improved in the OpenGL engine;<\/li>\n<li>new stable and experimental APIs have been added;<\/li>\n<li>numerous bugs have been fixed.<\/li>\n<\/ul>\n<p>Source: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/development\/17746614\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0443\u043f\u043e\u0440\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 0.15 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 ThorVG, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C++ (\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 C++14) \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u043c\u043e\u0439 \u043f\u043e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 MIT. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0430 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0432 \u0442\u0430\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, \u043a\u0430\u043a Tizen OS, Godot Engine, LVGL \u0438 \u043f\u043b\u0435\u0435\u0440\u043e\u0432 dotLottie. Thor Vector Graphics (ThorVG) &ndash; \u044d\u0442\u043e \u043b\u0451\u0433\u043a\u0430\u044f \u0438 \u043f\u043e\u0440\u0442\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":120077,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-120076","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0443\u043f\u043e\u0440\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 0.15.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/thorvg-0-15\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47ThorVG 0.15 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0443\u043f\u043e\u0440\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 0.15.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/thorvg-0-15\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-10-07T23:09:19+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-10-07T23:09:19+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47ThorVG 0.15 | ProHoster","description":"After three months of hard work, version 0.15 has been released.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/thorvg-0-15","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47ThorVG 0.15 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0443\u043f\u043e\u0440\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 0.15.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/thorvg-0-15","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-10-07T23:09:19+00:00","article:modified_time":"2024-10-07T23:09:19+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"120076","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 07:07:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 07:07:19","updated":"2026-01-23 07:07:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/120076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=120076"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/120076\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/120077"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=120076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=120076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=120076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}