pub struct Mesh {
pub indices: Vec<u32>,
pub vertices: Vec<Vertex>,
pub texture_id: TextureId,
}Expand description
Textured triangles in two dimensions.
Fields§
§indices: Vec<u32>Draw as triangles (i.e. the length is always multiple of three).
If you only support 16-bit indices you can use Mesh::split_to_u16.
egui is NOT consistent with what winding order it uses, so turn off backface culling.
vertices: Vec<Vertex>The vertex data indexed by indices.
texture_id: TextureIdThe texture to use when drawing these triangles.
Implementations§
Source§impl Mesh
impl Mesh
pub fn with_texture(texture_id: TextureId) -> Mesh
pub fn bytes_used(&self) -> usize
pub fn is_empty(&self) -> bool
Sourcepub fn calc_bounds(&self) -> Rect
pub fn calc_bounds(&self) -> Rect
Calculate a bounding rectangle.
Sourcepub fn append_ref(&mut self, other: &Mesh)
pub fn append_ref(&mut self, other: &Mesh)
Append all the indices and vertices of other to self without
taking ownership.
pub fn colored_vertex(&mut self, pos: Pos2, color: Color32)
Sourcepub fn add_triangle(&mut self, a: u32, b: u32, c: u32)
pub fn add_triangle(&mut self, a: u32, b: u32, c: u32)
Add a triangle.
Sourcepub fn reserve_triangles(&mut self, additional_triangles: usize)
pub fn reserve_triangles(&mut self, additional_triangles: usize)
Make room for this many additional triangles (will reserve 3x as many indices).
See also reserve_vertices.
Sourcepub fn reserve_vertices(&mut self, additional: usize)
pub fn reserve_vertices(&mut self, additional: usize)
Make room for this many additional vertices.
See also reserve_triangles.
Sourcepub fn add_rect_with_uv(&mut self, rect: Rect, uv: Rect, color: Color32)
pub fn add_rect_with_uv(&mut self, rect: Rect, uv: Rect, color: Color32)
Rectangle with a texture and color.
Sourcepub fn add_colored_rect(&mut self, rect: Rect, color: Color32)
pub fn add_colored_rect(&mut self, rect: Rect, color: Color32)
Uniformly colored rectangle.
Sourcepub fn split_to_u16(self) -> Vec<Mesh16>
pub fn split_to_u16(self) -> Vec<Mesh16>
This is for platforms that only support 16-bit index buffers.
Splits this mesh into many smaller meshes (if needed) where the smaller meshes have 16-bit indices.
Trait Implementations§
impl Eq for Mesh
impl StructuralPartialEq for Mesh
Auto Trait Implementations§
impl Freeze for Mesh
impl RefUnwindSafe for Mesh
impl Send for Mesh
impl Sync for Mesh
impl Unpin for Mesh
impl UnwindSafe for Mesh
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.