pub struct GlobalBindings {
pub metadata: bool,
pub joints: bool,
pub morphs: bool,
pub lights: bool,
}Expand description
Which of a source’s global buffers a pipeline reads.
The camera, frame-globals and view uniforms are always bound; the arrays are
optional and a pipeline declares only the ones it reads. A caller’s own
pipeline passes the same description to global_bind_group_layout as the
built-in lit variants do, so binding the frame’s shared inputs is not a
privilege of the built-in shader.
Fields§
§metadata: boolWhether the pipeline reads the frame’s mesh-metadata array.
joints: boolWhether the pipeline reads the frame’s joint matrices.
morphs: boolWhether the pipeline reads the frame’s morph weights and displacements.
lights: boolWhether the pipeline reads the frame’s lights: the bounded-light arrays, the cluster uniform and the frame-wide lighting uniform.
One flag for all five bindings: a pipeline that lights its fragments reads the three arrays and the two uniforms together, so a finer split would only describe combinations no pipeline can have.
Trait Implementations§
Source§impl Clone for GlobalBindings
impl Clone for GlobalBindings
impl Copy for GlobalBindings
Source§impl Debug for GlobalBindings
impl Debug for GlobalBindings
Source§impl Default for GlobalBindings
impl Default for GlobalBindings
impl Eq for GlobalBindings
Source§impl Hash for GlobalBindings
impl Hash for GlobalBindings
Source§impl PartialEq for GlobalBindings
impl PartialEq for GlobalBindings
impl StructuralPartialEq for GlobalBindings
Auto Trait Implementations§
impl Forget for GlobalBindings
impl Freeze for GlobalBindings
impl RefUnwindSafe for GlobalBindings
impl Send for GlobalBindings
impl Sync for GlobalBindings
impl Unpin for GlobalBindings
impl UnsafeUnpin for GlobalBindings
impl UnwindSafe for GlobalBindings
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