Struct epaint::tessellator::Tessellator
source · 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
: WhatTextureAtlas::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
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_mesh(&mut self, mesh: &Mesh, out: &mut Mesh)
pub fn tessellate_mesh(&mut self, mesh: &Mesh, out: &mut Mesh)
sourcepub fn tessellate_line(
&mut self,
points: [Pos2; 2],
stroke: Stroke,
out: &mut Mesh
)
pub fn tessellate_line( &mut self, points: [Pos2; 2], stroke: Stroke, 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
: WhatTextureAtlas::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