piet
Skia
piet | Skia | |
---|---|---|
11 | 55 | |
1,225 | 8,671 | |
1.0% | 1.5% | |
4.9 | 9.9 | |
16 days ago | 1 day ago | |
Rust | C++ | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
piet
- Cairo – Open-Source 2D Graphics Layer/API with Fonts and Many Back-Ends
-
A simple 2d graphic library
You can even check https://github.com/linebender/piet and https://github.com/RazrFalcon/tiny-skia. They are pure rust libraries. Skia as a whole is a big binary to add.
-
Druid, a Rust-native UI toolkit, released v0.8 after two years of work by 80 contributors.
First, at the deepest level, we are moving away from Piet, which is a cross-platform 2D graphics abstraction. Under the hood it uses whatever the standard OS API is. Instead we will be using Vello which we have been building as a research project for years already. It is starting to near its v0.1, which is very exciting. Fundamentally it is a novel GPU accelerated 2D rendering engine with a strong focus on performance. It is not ready for benchmarks yet, but we're confident it will deliver. If you're curious, you can check out the Vello roadmap for 2023.
-
What 2D graphics library would you most recommend?
you can use piet, although that is more of an abstraction over existing, platform-dependent libraries. So not really pure rust, but definitely cross-platform.
-
Piet-GPU Progress: Clipping
Piet is the backend for the Druid UI framework. It is indeed cross-platform. The SVG backend looks like it would work without an OS, but I'm not sure the value of a GUI toolkit without an OS anyway :)
https://github.com/linebender/piet#backends
https://github.com/linebender/druid/tree/master/druid-shell/...
-
Looking for an image manipulation library that can add text to images. (and has documentation for it)
Piet can render text. You can use Piet_common with the BitMapTarget to generate images Here is an example.
-
Simple graphics library using software rendering?
Piet (https://github.com/linebender/piet) should work.
-
What Graphics Library to use?
So the 3 I'm looking at right now are 1. druid 1. piet 1. bevy
-
Rust GUI: Introduction, a.k.a. the state of Rust GUI libraries (As of January 2021)
It relies on piet 2D graphic library; on Linux that means GTK/Cairo 2D primitives
-
Patrick Walton heading up Facebook's Rust team
You may be interested in taking a look at piet!
Skia
-
Skia VS nitro-gl - a user suggested alternative
2 projects | 21 Aug 2023
- The Future of the Web Is VNC
- Cairo – Open-Source 2D Graphics Layer/API with Fonts and Many Back-Ends
-
Lottie under the hood
Actually, that's not entirely accurate. The lottie-web library itself doesn't support rendering to WebGL. However, there is a package called canvaskit-wasm that wraps Skia (a graphics engine) with WebAssembly (wasm). This package includes a module called skottie which supports rendering animations into a WebGL surface. However, there is a drawback with this approach: using wasm requires loading a relatively large package, and it's uncertain whether all features are supported correctly, as the official compatibility table that tracks lottie support on different platforms does not include skottie.
-
Widely-used graphics library
Skia is pretty great if you can get it running.
- Vivaldi 6.0 Web Browser Introduces Tab Workspaces and Custom Icons
-
Due to popular demand, here’s part 2
The imgs are mainly used by Tencent QQ and Baidu Tieba users. QQ and Tieba compress imgs by default, so the popular imgs (in China we call them "屌图" or "表情包") would be compressed million of times during the spreading, causing the super low quality. These APPs on Android are using Skia for image processing, which suffering from a legendary bug: result would be more green. The bug was fixed in 2016: https://github.com/google/skia/commit/c7d01d3e1d3621907c27b283fb7f8b6e177c629d
- Leveraging Rust and the GPU to render user interfaces at 120 FPS
- How important is avoiding Blink/Chromium to you? And if not at all, why?
-
Graphic Library for C
There’s also Skia by Google. Used by Android and Google Chrome.
What are some alternatives?
embedded-graphics - A no_std graphics library for embedded applications
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
areweguiyet - A website built for the Rust community
nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
vgtk - A declarative desktop UI framework for Rust built on GTK and Gtk-rs
Atomic Game Engine - The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript
orbtk - The Rust UI-Toolkit.
Ogre 3D - scene-oriented, flexible 3D engine (C++, Python, C#, Java)
druid - A data-first Rust-native UI design toolkit.
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies