pub struct PositionStreamChannels {
pub position: Option<ChannelEncoding>,
pub joints: bool,
}Expand description
The channels of the position vertex stream: a position and, for a skinned mesh, the joint indices and weights that deform it.
Joints and weights share this stream rather than getting one of their own, so a skinned mesh’s per-vertex data stays one buffer and one stride. The joint pair is addressed by vertex index rather than by attribute, so nothing else about a draw changes when the stream carries it.
The order is the attribute order: position, joint indices, joint weights.
Fields§
§position: Option<ChannelEncoding>How the position itself is encoded, or None for a variant that reads
no position at all — its geometry is a single point at the instance
origin, which is what a point or impostor draw wants.
joints: boolWhether the stream carries joint indices and weights.
Implementations§
Source§impl PositionStreamChannels
impl PositionStreamChannels
Sourcepub fn channels(&self) -> StreamChannels
pub fn channels(&self) -> StreamChannels
The channels of the stream, in attribute order.
Trait Implementations§
Source§impl Clone for PositionStreamChannels
impl Clone for PositionStreamChannels
impl Copy for PositionStreamChannels
Source§impl Debug for PositionStreamChannels
impl Debug for PositionStreamChannels
impl Eq for PositionStreamChannels
Source§impl Hash for PositionStreamChannels
impl Hash for PositionStreamChannels
Source§impl PartialEq for PositionStreamChannels
impl PartialEq for PositionStreamChannels
impl StructuralPartialEq for PositionStreamChannels
Auto Trait Implementations§
impl Forget for PositionStreamChannels
impl Freeze for PositionStreamChannels
impl RefUnwindSafe for PositionStreamChannels
impl Send for PositionStreamChannels
impl Sync for PositionStreamChannels
impl Unpin for PositionStreamChannels
impl UnsafeUnpin for PositionStreamChannels
impl UnwindSafe for PositionStreamChannels
Blanket Implementations§
impl<T> AsId for T
impl<T> AsIdSalt for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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 more