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 Definitions
Stores textures for text rendering.