ThorVG

Last updated
Thor Vector Graphics
Original author(s) Hermet Park
Developer(s) ThorVG Team, Samsung, LottieFiles
Initial release1 May 2021 (2021-05-01)
Stable release
27 June 2024 (2024-06-27)
Repository github.com/thorvg/thorvg
Written in C++14
Platform Cross-platform
Size 150 kb (minimum)
Type Graphics library
License MIT License
Website www.thorvg.org

ThorVG(Thor Vector Graphics) is an open source library that enables the implementation of motion graphics and animations based on vector graphics such as SVG and Lottie. It has excellent compatibility and portability, so it can be used in various types of computing platforms and application software. [1] [2] [3] ThorVG is supported in ultra-small microcontroller products such as ESP32, [4] and is used as a rendering engine in systems such as Tizen, [5] Godot game engine, [6] and LVGL. [7] The dotLottie player from LottieFiles leverages ThorVG's Lottie rendering capabilities to provide Lottie animation] output. [8]

Contents

Lottie Animations powered by ThorVG Lottie Animations powered by ThorVG.png
Lottie Animations powered by ThorVG

ThorVG supports graphics output on the web platform by leveraging WebAssembly technology, [9] and supports hardware acceleration through various graphics output devices such as OpenGL and WebGPU [10] as well as CPU.

Supported systems

Other ThorVG application software

Release information

Related Research Articles

<span class="mw-page-title-main">Inkscape</span> Free open-source vector graphics editor

Inkscape is a free and open-source vector graphics editor for traditional Unix-compatible systems such as GNU/Linux, BSD derivatives and Illumos, as well as Windows and macOS. It offers a rich set of features and is widely used for both artistic and technical illustrations such as cartoons, clip art, logos, typography, diagramming and flowcharting. It uses vector graphics to allow for sharp printouts and renderings at unlimited resolution and is not bound to a fixed number of pixels like raster graphics. Inkscape uses the standardized Scalable Vector Graphics (SVG) file format as its main format, which is supported by many other applications including web browsers. It can import and export various other file formats, including SVG, AI, EPS, PDF, PS and PNG.

OpenVG is an API designed for hardware-accelerated 2D vector graphics. Its primary platforms are mobile phones, gaming & media consoles and consumer electronic devices. It was designed to help manufacturers create more attractive user interfaces by offloading computationally intensive graphics processing from the CPU onto a GPU to save energy. The OpenGL ES library provides similar functionality for 3D graphics. OpenVG is managed by the non-profit technology consortium Khronos Group.

Animated Portable Network Graphics (APNG) is a file format which extends the Portable Network Graphics (PNG) specification to permit animated images that work similarly to animated GIF files, while supporting 24 or 48-bit images and full alpha transparency not available for GIFs. It also retains backward compatibility with non-animated PNG files.

Cairo (graphics) Vector graphics-based software library

Cairo is an open-source graphics library that provides a vector graphics-based, device-independent API for software developers. It provides primitives for two-dimensional drawing across a number of different backends. Cairo uses hardware acceleration when available.

Windows Presentation Foundation (WPF) is a free and open-source user interface framework for Windows-based desktop applications. WPF applications are based in .NET, and are primarily developed using C# and XAML.

<span class="mw-page-title-main">FontForge</span> Font editor created by George Williams

FontForge is a FOSS font editor which supports many common font formats. Developed primarily by George Williams until 2012, FontForge is free software and is distributed under a mix of the GNU General Public License Version 3 and the 3-clause BSD license. It is available for operating systems including Linux, Windows, and macOS, and is localized into 12 languages.

The canvas element is part of HTML5 and allows for dynamic, scriptable rendering of 2D shapes and bitmap images. It is a low level, procedural model that updates a bitmap. HTML5 Canvas also helps in making 2D games.

diagrams.net Web based diagram editor

diagrams.net is a cross-platform graph drawing software application developed in HTML5 and JavaScript. Its interface can be used to create diagrams such as flowcharts, wireframes, UML diagrams, organizational charts, and network diagrams.

<span class="mw-page-title-main">ELinks</span> Text-based web browser

ELinks is a free text-based web browser for Linux, DOS, and Windows operating systems.

<span class="mw-page-title-main">WebGL</span> JavaScript bindings for OpenGL in web browsers

WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics, image processing, and effects in the HTML canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.

Toonz is a 2D animation software program. The base application is currently managed by Dwango as open-source software under the name OpenToonz. An extended commercial variant for professional individuals and studios, Toonz Premium, is being developed and marketed by Digital Video S.p.A. Toonz has been used by studios such as Studio Ghibli and Rough Draft Studios.

<span class="mw-page-title-main">Godot (game engine)</span> Cross-platform, open-source game engine

Godot is a cross-platform, free and open-source game engine released under the permissive MIT license. It was initially developed in Buenos Aires by Argentine software developers Juan Linietsky and Ariel Manzur for several companies in Latin America prior to its public release in 2014. The development environment runs on many platforms, and can export to several more. It is designed to create both 2D and 3D games targeting PC, mobile, and web platforms and can also be used to develop non-game software, including editors.

Blend4Web is a free and open source framework for creating and displaying interactive 3D computer graphics in web browsers.

<span class="mw-page-title-main">OpenFL</span> Software framework for video games

OpenFL is a free and open-source software framework and platform for the creation of multi-platform applications and video games. OpenFL applications can be written in Haxe, JavaScript, or TypeScript, and may be published as standalone applications for several targets including iOS, Android, HTML5, Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, TiVo, Raspberry Pi, and Node.js.

<span class="mw-page-title-main">Vue.js</span> Open-source JavaScript library for building user interfaces

Vue.js is an open-source model–view–viewmodel front end JavaScript framework for building user interfaces and single-page applications. It was created by Evan You and is maintained by him and the rest of the active core team members.

glTF 3D scene and model file format

glTF is a standard file format for three-dimensional scenes and models. A glTF file uses one of two possible file extensions: .gltf (JSON/ASCII) or .glb (binary). Both .gltf and .glb files may reference external binary and texture resources. Alternatively, both formats may be self-contained by directly embedding binary data buffers. An open standard developed and maintained by the Khronos Group, it supports 3D model geometry, appearance, scene graph hierarchy, and animation. It is intended to be a streamlined, interoperable format for the delivery of 3D assets, while minimizing file size and runtime processing by apps. As such, its creators have described it as the "JPEG of 3D."

Flutter is an open-source UI software development kit created by Google. It can be used to develop cross platform applications from a single codebase for the web, Fuchsia, Android, iOS, Linux, macOS, and Windows. First described in 2015, Flutter was released in May 2017. Flutter is used internally by Google in apps such as Google Pay and Google Earth as well as other software developers including ByteDance and Alibaba.

JPEG XL is a royalty-free raster-graphics file format that supports both lossy and lossless compression. It is designed to outperform existing raster formats and thus become their universal replacement.

raylib Game programming library

Raylib is a cross-platform open-source software development library. The library was made to create graphical applications and games.

<span class="mw-page-title-main">Lottie (file format)</span> File format for vector graphics animations

Lottie is a file format for vector graphics animation, and is named after Charlotte "Lotte" Reiniger, a German pioneer of silhouette animation.

References

  1. "About - ThorVG" . Retrieved 2023-12-08.
  2. "Unlocking the Power of ThorVG: A Guide to Lightweight 2D Vector Graphics". 20 October 2023. Retrieved 2023-12-08.
  3. "Introducing ThorVG: A Powerful Graphics Library for Lottie Animation" . Retrieved 2023-12-08.
  4. "espressif/thorvg • v0.13.8 • ESP Component Registry" . Retrieved 2024-09-07.
  5. "Tizen 8.0 M2 Release" . Retrieved 2023-12-08.
  6. "Godot Docs - Importing images" . Retrieved 2024-09-08.
  7. kisvegabor (2023-11-21). "v9 schedule, ESP32-S3-BOX-3, and a cool project" . Retrieved 2023-12-08.
  8. "Introducing Our New dotLottie Web Player" . Retrieved 2023-12-08.
  9. "그래픽 엔진 포팅 사례로 배우는 웹어셈블리 웹 컴포넌트 개발부터 디버깅, 최적화까지" . Retrieved 2024-09-07.
  10. "The Best of WebGPU of February 2024" . Retrieved 2024-09-07.
  11. pvigier (2023-01-16). "Coat of Arms Generator for my game Vagabond" . Retrieved 2023-12-08.
  12. "Canva Enhances iOS Lottie Rendering: 80% Faster and 70% More Efficient with ThorVG" . Retrieved 2024-07-07.
  13. "Syrah - Credits" . Retrieved 2024-07-01.
  14. "Release ThorVG v0.1.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
  15. "Release ThorVG v0.2.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
  16. "Release ThorVG v0.3.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
  17. "Release ThorVG v0.4.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
  18. "Release ThorVG v0.5.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
  19. "Release ThorVG v0.6.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
  20. "Release ThorVG v0.7.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
  21. "Release ThorVG v0.8.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
  22. "Release ThorVG v0.9.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
  23. "Release ThorVG v0.10.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
  24. "Release ThorVG v0.11.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
  25. "Release ThorVG v0.12.0 · thorvg/thorvg". GitHub. Retrieved 2023-04-09.
  26. "Release ThorVG 0.13.0 · thorvg/thorvg". GitHub . Retrieved 2024-04-09.
  27. "Release ThorVG v0.14.0 · thorvg/thorvg". GitHub . Retrieved 2024-06-28.