Crate gfx_graphics
source ·Expand description
A Piston 2D graphics back-end using gfx-rs.
Piston-Graphics is a generic library for 2D, part of the Piston ecosystem.
The generic abstraction creates triangles that are sent to the back-end.
Triangles are sent through the Graphics
trait.
§How to use gfx_graphics
If you are using the piston_window
library, a Gfx2d
object is created for you.
All you need to do is call e.draw_2d(|c, g| { ... });
If you are not using a window wrapper, you need to create Gfx2d
and GfxGraphics
.
- Create a
Gfx2d
object before the event loop - Call
Gfx2d::draw
withargs.viewport()
from the render event.
Example:
let mut g2d = Gfx2d::new(api_version, &mut factory);
let mut events = window.events();
while let Some(e) = events.next(&mut window) {
if let Some(args) = e.render_args() {
g2d.draw(&mut encoder, &output_color, &output_stencil, args.viewport(), |c, g| {
...
}
}
}
For a working example, see “examples/draw_state.rs”.
The closure |c, g|
passes a Context
and &mut GfxGraphics
object.
Context
contains viewport, transform and draw state information.
When passing this to other functions, you usually write them as:
fn draw_something<G: Graphics>(c: &Context, g: &mut G) {
...
}
The purpose is to make code reusable across Piston 2D back-ends.
For more information, consult the documentation of Piston-Graphics.
Modules§
- Image operations for textures.
Structs§
- The data used for drawing 2D graphics.
- Used for rendering 2D graphics.
- Represents a texture.
- Context required to create and update textures.
- Texture creation parameters.
Enums§
- Create creation or update error.
- Sampling filter
- Flip settings.
- Texture format.
- Wrap mode
Traits§
- Implemented by textures for creation.
- Implemented by all images to be used with generic algorithms.
- Implemented by texture operations.
- Implemented by textures for updating.
Type Aliases§
- Stores textures for text rendering.