At LottieFiles, we constantly strive to elevate the designer and developer experience when it comes to motion graphics. To this end, we’ve been working hard at bringing you a new, highly performant and universal rendering system. Introducing ThorVG: A fast, lightweight and universal graphics library with first-class support for Lottie.
What is ThorVG?
At its core, ThorVG is a graphics library created for those who want to bring their ideas to life through vector-based graphics. Whether you're developing applications, games, or interactive user interfaces (UI), ThorVG provides a user-friendly and compact interface with minimal complexity.
Its versatility extends to supporting various platforms, including Ubuntu, Windows, MacOS, iOS, Android and WASM, making it a versatile choice for developers across different ecosystems.
Alongside its extensive Lottie animation support, ThorVG empowers developers and designers with a rich set of features. This makes it a comprehensive solution for vector graphics, catering to a wide range of creative and technical needs. In addition, the ThorVG viewer helps preview the animations.
Key highlights of ThorVG
1. Cross-platform consistency
Written in C++, ThorVG compiles to multiple targets. In doing so, ThorVG ensures that Lottie animations maintain consistency across different platforms, ranging from mobile devices to desktop and web applications, and more.
2. Seamless integration
ThorVG is designed from the ground up with developers in mind, making integrations into various systems seamless. It provides useful, developer-friendly features such as:
- Intuitive APIs and straightforward implementation.
- Easy transition of drawing contexts between main renderers and ThorVG.
- Effective serialization of drawing commands among volatile paint nodes.
- Synchronous or asynchronous rendering via backend raster engines.
We are actively working on several other projects to expand the support for Lottie animations to cover an even wider range of use cases.
3. Diverse drawing primitives
Among the graphics capabilities of ThorVG, we provide support for the following:
- Shapes: Line, Arc, Curve, Path, Polygon
- Filling: Solid & Gradients, Texture Mapping
- Scene Graph & Transformation
- Stroking: Width, Join, Cap, Dash
- Composition: Blending, Masking, Path Clipping
- Images: TVG, SVG, JPG, PNG, WebP, Bitmap
- Animations: Lottie
4. SVG and Lottie animations
As Lottie is a first-class citizen in ThorVG, it has extensive support for the Lottie specification. Additionally, it also supports SVG rendering within the SVG Tiny Specification.
What it means for Lottie
As a graphics library, ThorVG's integration with Lottie animations brings about a transformative impact in the world of vector animations. Lottie has gained immense popularity for its JSON-based format, enabling developers to create visually stunning animations with ease. ThorVG elevates the Lottie experience, bringing with it a host of advantages:
1. Efficient rendering
ThorVG's rendering engine ensures efficient playback of Lottie animations, delivering smooth and captivating visual experiences. Essentially, it can function with its own decent rasterizer that doesn't necessitate a significant memory size or modern graphics hardware. This makes it a cost-effective solution that performs well even on low-end devices, such as embedded or IoT devices.
2. Cross-platform compatibility and consistency
ThorVG maintains consistent performance across diverse platforms, from mobile applications to desktop environments. We ensure that your animations will look the same, whatever the platform you ship to.
3. Compact distribution:
ThorVG itself is higly compact. This allows developers to seamlessly integrate animations into their existing code bases with minimal overhead.
What's Coming
ThorVG is a project in continuous evolution, with a roadmap that includes exciting features and enhancements. Here's a glimpse into what the future holds:
1. Enhanced Lottie features
ThorVG is actively working on expanding its capabilities to support for advanced Lottie features, including text animations, shape modifiers, layer effects, and expressions.
2. Optimizations for high-performance rendering:
Future updates will focus on further optimizing ThorVG's rendering engine to ensure high-performance rendering of complex Lottie animations, catering to the demands of modern applications.
ThorVG is being developed on the WebGPU backend rasterizer and is expected to be released in the coming year. WebGPU is a modern web standard designed to provide a low-level graphics and computation interface for the web.
3. Expansive tooling and dotLottie-Player:
To enable development teams to deploy ThorVG to render Lottie animations, we will soon be releasing our dotLottie-Players, built on top of ThorVG. These players will support deploying animations on the web, iOS and Android.
The dotLottie file format is designed to compress and bundle Lottie animations with assets and meta-data, resulting in smaller file sizes and enhanced capabilities. Find out more about dotLottie here.
4. Extended platform support:
ThorVG aims to extend its platform support, reaching new environments and enabling developers to leverage the power of ThorVG and Lottie across a broader spectrum of applications.
To sum up
As ThorVG continues to mature and develop, we’re committed to enhancing the designer and developer experience by building more tools and support around it.
ThorVG emerges as a powerhouse in the world of graphics libraries, offering a rich set of features that meet the needs of both developers and designers. Its Lottie animation capabilities bring a new dimension to creative expression, allowing for compact, cross-platform animations that captivate audiences. Whether you're building applications, games, or interactive interfaces, ThorVG stands as a reliable companion, simplifying the complexities of vector graphics and empowering you to bring your ideas to life with flair.
The future development of ThorVG relies on the community's input. We're committed to improving and expanding ThorVG based on the needs and feedback of the developer community. We will provide regular updates and open communication channels, fostering a collaborative environment.
Check out ThorVG today on the hosted previewer and jump on-board over at GitHub and give us a star!