#graphics #2d #game #piston #triangulation

piston2d-graphics

A library for 2D graphics that works with multiple back-ends

55 releases (26 breaking)

0.26.0 Feb 22, 2018
0.24.0 Nov 30, 2017
0.21.1 Feb 3, 2017
0.19.0 Nov 2, 2016
0.0.1 Dec 13, 2014

#14 in Graphics APIs

Download history 457/week @ 2018-05-06 502/week @ 2018-05-13 536/week @ 2018-05-20 740/week @ 2018-05-27 1081/week @ 2018-06-03 369/week @ 2018-06-10 1010/week @ 2018-06-17 441/week @ 2018-06-24 1219/week @ 2018-07-01 472/week @ 2018-07-08 587/week @ 2018-07-15 584/week @ 2018-07-22 523/week @ 2018-07-29

3,131 downloads per month

Graphics Build Status Crates.io Crates.io

A library for 2D graphics, written in Rust, that works with multiple back-ends.

Maintainers: @bvssvni

Graphics online docs

How to contribute

Latest news: Color spaces are now well defined!

Back-ends
opengl_graphics
gfx_graphics
glium_graphics

Experimental algorithms are developed in a separate repository: Graphics-Lab

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
  • Reasonable defaults with resolution detection whenever possible

Non-Goals

  • Image formats
  • Backward compability (expect lot of breaking)
  • Platform or back-end specific code
  • 3D
  • Physics
  • Node tree
  • One-to-one correspondence with standards
  • Integration with platform GUI

Used by

Dependencies

dependencies

MIT license

Dependencies

Reverse deps