ProgramInterface

Struct 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§

Source§

impl<'a, B> ProgramInterface<'a, B>
where B: Shader,

Source

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.

Source

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> Freeze for ProgramInterface<'a, B>

§

impl<'a, B> RefUnwindSafe for ProgramInterface<'a, B>

§

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§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.