73 releases (45 breaking)
| 0.45.0 | Sep 17, 2024 |
|---|---|
| 0.44.0 | Sep 26, 2023 |
| 0.43.0 | Nov 18, 2022 |
| 0.42.0 | Feb 23, 2022 |
| 0.0.1 | Dec 13, 2014 |
#324 in Game dev
55,836 downloads per month
Used in 112 crates
(53 directly)
140KB
3K
SLoC
Graphics

A library for 2D graphics, written in Rust, that works with multiple back-ends.
Maintainers: @bvssvni
| Back-ends |
|---|
| opengl_graphics |
| gfx_graphics |
| glium_graphics |
Motivation
Sharing graphics source code across projects in Rust
Rust is programming language developed by Mozilla and the Rust community. It is fast, safe, concurrent and cross platform. Because of the many numbers of potential platforms (read: all kinds of computers), it would be nice to have a 2D graphics library that works with multiple back-ends, so you don't have to invent a new graphics engine for each platform you are working on.
One trait for all back-ends
To write your own back-end, use the Graphics trait. The Graphics trait implements default behavior for some methods,
which can be overridden for higher quality or better performance.
Goals
- Easy to use
- Minimal dependencies
- Vector graphics
- Images
- Text
- Clipping
- To have a feature complete library for 2D graphics in general
Non-Goals
- Image formats
- Backward compatibility (expect lot of breaking)
- Platform or back-end specific code
- 3D
- Physics
- Node tree
- One-to-one correspondence with standards
- Integration with platform GUI
- Resolution detection
Used by
Dependencies

Dependencies
~110–260KB