Struct tetra::graphics::CanvasBuilder
source · pub struct CanvasBuilder { /* private fields */ }
Expand description
A builder for creating advanced canvas configurations.
By default, Tetra’s canvases are fairly simple - they just provide a Texture
that you
can render things to. However, they can also be configured with extra features via this
builder, such as multisampling and additional buffers.
Implementations§
source§impl CanvasBuilder
impl CanvasBuilder
sourcepub fn new(width: i32, height: i32) -> CanvasBuilder
pub fn new(width: i32, height: i32) -> CanvasBuilder
Creates a new canvas builder.
You can also use Canvas::builder
as a shortcut for this, if you want
to avoid the extra import.
sourcepub fn texture_format(&mut self, format: TextureFormat) -> &mut CanvasBuilder
pub fn texture_format(&mut self, format: TextureFormat) -> &mut CanvasBuilder
Sets the format that should be used for the canvas’ underlying Texture
.
Defaults to TextureFormat::Rgba8
.
sourcepub fn samples(&mut self, samples: u8) -> &mut CanvasBuilder
pub fn samples(&mut self, samples: u8) -> &mut CanvasBuilder
Sets the level of multisample anti-aliasing to use.
The number of samples that can be used varies between graphics cards - 2
, 4
and 8
are reasonably
well supported. When set to 0
(the default), no multisampling will be used.
Resolving
In order to actually display a multisampled canvas, it first has to be downsampled (or ‘resolved’). This is
done automatically once you switch to a different canvas/the backbuffer. Until this step takes place,
your rendering will not be reflected in the canvas’ underlying texture
(and by
extension, in the output of draw
and get_data
).
sourcepub fn stencil_buffer(&mut self, enabled: bool) -> &mut CanvasBuilder
pub fn stencil_buffer(&mut self, enabled: bool) -> &mut CanvasBuilder
Sets whether the canvas should have a stencil buffer.
Setting this to true
allows you to use stencils while rendering to the canvas, at the cost
of some extra video RAM usage.
Trait Implementations§
source§impl Clone for CanvasBuilder
impl Clone for CanvasBuilder
source§fn clone(&self) -> CanvasBuilder
fn clone(&self) -> CanvasBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more