pub struct Tessellator { /* private fields */ }
Expand description
Converts Shape
s into triangles (Mesh
).
For performance reasons it is smart to reuse the same Tessellator
.
See also tessellate_shapes
, a convenient wrapper around Tessellator
.
Implementations§
Source§impl Tessellator
impl Tessellator
Sourcepub fn new(
pixels_per_point: f32,
options: TessellationOptions,
font_tex_size: [usize; 2],
prepared_discs: Vec<PreparedDisc>,
) -> Self
pub fn new( pixels_per_point: f32, options: TessellationOptions, font_tex_size: [usize; 2], prepared_discs: Vec<PreparedDisc>, ) -> Self
Create a new Tessellator
.
pixels_per_point
: number of physical pixels to each logical pointoptions
: tessellation qualityshapes
: what to tessellatefont_tex_size
: size of the font texture. Required to normalize glyph uv rectangles when tessellating text.prepared_discs
: Whatcrate::TextureAtlas::prepared_discs
returns. Can safely be set to an empty vec.
Sourcepub fn set_clip_rect(&mut self, clip_rect: Rect)
pub fn set_clip_rect(&mut self, clip_rect: Rect)
Set the Rect
to use for culling.
pub fn round_to_pixel(&self, point: f32) -> f32
pub fn round_to_pixel_center(&self, point: f32) -> f32
pub fn round_pos_to_pixel_center(&self, pos: Pos2) -> Pos2
Sourcepub fn tessellate_clipped_shape(
&mut self,
clipped_shape: ClippedShape,
out_primitives: &mut Vec<ClippedPrimitive>,
)
pub fn tessellate_clipped_shape( &mut self, clipped_shape: ClippedShape, out_primitives: &mut Vec<ClippedPrimitive>, )
Tessellate a clipped shape into a list of primitives.
Sourcepub fn tessellate_shape(&mut self, shape: Shape, out: &mut Mesh)
pub fn tessellate_shape(&mut self, shape: Shape, out: &mut Mesh)
Tessellate a single Shape
into a Mesh
.
This call can panic the given shape is of Shape::Vec
or Shape::Callback
.
For that, use Self::tessellate_clipped_shape
instead.
shape
: the shape to tessellate.out
: triangles are appended to this.
Sourcepub fn tessellate_circle(&mut self, shape: CircleShape, out: &mut Mesh)
pub fn tessellate_circle(&mut self, shape: CircleShape, out: &mut Mesh)
Tessellate a single CircleShape
into a Mesh
.
shape
: the circle to tessellate.out
: triangles are appended to this.
Sourcepub fn tessellate_ellipse(&mut self, shape: EllipseShape, out: &mut Mesh)
pub fn tessellate_ellipse(&mut self, shape: EllipseShape, out: &mut Mesh)
Tessellate a single EllipseShape
into a Mesh
.
shape
: the ellipse to tessellate.out
: triangles are appended to this.
Sourcepub fn tessellate_mesh(&self, mesh: &Mesh, out: &mut Mesh)
pub fn tessellate_mesh(&self, mesh: &Mesh, out: &mut Mesh)
Sourcepub fn tessellate_line(
&mut self,
points: [Pos2; 2],
stroke: impl Into<PathStroke>,
out: &mut Mesh,
)
pub fn tessellate_line( &mut self, points: [Pos2; 2], stroke: impl Into<PathStroke>, out: &mut Mesh, )
Tessellate a line segment between the two points with the given stroke into a Mesh
.
shape
: the mesh to tessellate.out
: triangles are appended to this.
Sourcepub fn tessellate_path(&mut self, path_shape: &PathShape, out: &mut Mesh)
pub fn tessellate_path(&mut self, path_shape: &PathShape, out: &mut Mesh)
Sourcepub fn tessellate_rect(&mut self, rect: &RectShape, out: &mut Mesh)
pub fn tessellate_rect(&mut self, rect: &RectShape, out: &mut Mesh)
Sourcepub fn tessellate_text(&mut self, text_shape: &TextShape, out: &mut Mesh)
pub fn tessellate_text(&mut self, text_shape: &TextShape, out: &mut Mesh)
Sourcepub fn tessellate_quadratic_bezier(
&mut self,
quadratic_shape: &QuadraticBezierShape,
out: &mut Mesh,
)
pub fn tessellate_quadratic_bezier( &mut self, quadratic_shape: &QuadraticBezierShape, out: &mut Mesh, )
Tessellate a single QuadraticBezierShape
into a Mesh
.
quadratic_shape
: the shape to tessellate.out
: triangles are appended to this.
Sourcepub fn tessellate_cubic_bezier(
&mut self,
cubic_shape: &CubicBezierShape,
out: &mut Mesh,
)
pub fn tessellate_cubic_bezier( &mut self, cubic_shape: &CubicBezierShape, out: &mut Mesh, )
Tessellate a single CubicBezierShape
into a Mesh
.
cubic_shape
: the shape to tessellate.out
: triangles are appended to this.
Source§impl Tessellator
impl Tessellator
Sourcepub fn tessellate_shapes(
&mut self,
shapes: Vec<ClippedShape>,
) -> Vec<ClippedPrimitive>
pub fn tessellate_shapes( &mut self, shapes: Vec<ClippedShape>, ) -> Vec<ClippedPrimitive>
Turns Shape
:s into sets of triangles.
The given shapes will tessellated in the same order as they are given. They will be batched together by clip rectangle.
pixels_per_point
: number of physical pixels to each logical pointoptions
: tessellation qualityshapes
: what to tessellatefont_tex_size
: size of the font texture. Required to normalize glyph uv rectangles when tessellating text.prepared_discs
: Whatcrate::TextureAtlas::prepared_discs
returns. Can safely be set to an empty vec.
The implementation uses a Tessellator
.
§Returns
A list of clip rectangles with matching Mesh
.
Trait Implementations§
Source§impl Clone for Tessellator
impl Clone for Tessellator
Source§fn clone(&self) -> Tessellator
fn clone(&self) -> Tessellator
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more