Struct luminance::shader::ProgramInterface
source · [−]pub struct ProgramInterface<'a, B> where
B: Shader, { /* private fields */ }
Expand description
Interact with the UniformInterface
carried by a Program
and/or perform dynamic
uniform lookup.
This type allows to set — ProgramInterface::set
– uniforms for a Program
.
In the case where you don’t have a uniform interface or need to dynamically lookup uniforms,
you can use the ProgramInterface::query
method.
Parametricity
B
is the backend type.
Implementations
sourceimpl<'a, B> ProgramInterface<'a, B> where
B: Shader,
impl<'a, B> ProgramInterface<'a, B> where
B: Shader,
sourcepub fn set<'u, T>(&'u mut self, uniform: &'u Uniform<T>, value: B::Target) where
B: Uniformable<'u, T>,
pub fn set<'u, T>(&'u mut self, uniform: &'u Uniform<T>, value: B::Target) where
B: Uniformable<'u, T>,
Set a value on a Uniform
.
The value that is passed depends on the associated Uniformable::Target
type. Most of the time, it will be the
same as T
, but it might sometimes be something different if you are using existential types, such as with types
with lifetimes.
sourcepub fn query(&mut self) -> Result<UniformBuilder<'a, B>, ProgramError>
pub fn query(&mut self) -> Result<UniformBuilder<'a, B>, ProgramError>
Get back a UniformBuilder
to dynamically access Uniform
objects.
Auto Trait Implementations
impl<'a, B> RefUnwindSafe for ProgramInterface<'a, B> where
<B as Shader>::ProgramRepr: RefUnwindSafe,
impl<'a, B> Send for ProgramInterface<'a, B> where
<B as Shader>::ProgramRepr: Send,
impl<'a, B> Sync for ProgramInterface<'a, B> where
<B as Shader>::ProgramRepr: Sync,
impl<'a, B> Unpin for ProgramInterface<'a, B>
impl<'a, B> !UnwindSafe for ProgramInterface<'a, B>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more