#[repr(C)]pub struct MeshVertex {
pub position: [f32; 3],
pub normal: [f32; 3],
pub tangent: [f32; 3],
pub bitangent: [f32; 3],
pub uv: [f32; 2],
pub color: [f32; 3],
pub _padding: f32,
}
Expand description
Vertex data for mesh rendering with full PBR attributes
Fields§
§position: [f32; 3]
§normal: [f32; 3]
§tangent: [f32; 3]
§bitangent: [f32; 3]
§uv: [f32; 2]
§color: [f32; 3]
§_padding: f32
Implementations§
Source§impl MeshVertex
impl MeshVertex
Sourcepub fn new(
position: [f32; 3],
normal: [f32; 3],
uv: [f32; 2],
color: [f32; 3],
) -> Self
pub fn new( position: [f32; 3], normal: [f32; 3], uv: [f32; 2], color: [f32; 3], ) -> Self
Create a new mesh vertex
Sourcepub fn from_pos_normal(position: [f32; 3], normal: [f32; 3]) -> Self
pub fn from_pos_normal(position: [f32; 3], normal: [f32; 3]) -> Self
Create vertex from position and normal with default color
Sourcepub fn desc<'a>() -> VertexBufferLayout<'a>
pub fn desc<'a>() -> VertexBufferLayout<'a>
Vertex buffer layout descriptor
Trait Implementations§
Source§impl Clone for MeshVertex
impl Clone for MeshVertex
Source§fn clone(&self) -> MeshVertex
fn clone(&self) -> MeshVertex
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for MeshVertex
impl Debug for MeshVertex
impl Copy for MeshVertex
impl Pod for MeshVertex
Auto Trait Implementations§
impl Freeze for MeshVertex
impl RefUnwindSafe for MeshVertex
impl Send for MeshVertex
impl Sync for MeshVertex
impl Unpin for MeshVertex
impl UnwindSafe for MeshVertex
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
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &Self
.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.