Struct luminance_front::shader::Uniform
source · [−]pub struct Uniform<T> where
T: ?Sized, { /* private fields */ }
Expand description
A GPU shader program environment variable.
A uniform is a special variable that can be used to send data to a GPU. Several
forms exist, but the idea is that T
represents the data you want to send. Some exceptions
exist that allow to pass shared data — such as ShaderDataBinding
to pass a
ShaderData
, or TextureBinding
to pass a Texture
in order to fetch from it in a
shader stage.
You will never be able to store them by your own. Instead, you must use a UniformInterface
,
which provides a contravariant interface for you. Creation is unsafe
and should be
avoided. The UniformInterface
is the only safe way to create those.
Parametricity
T
is the type of data you want to be able to set in a shader program.
Implementations
sourceimpl<T> Uniform<T> where
T: ?Sized,
impl<T> Uniform<T> where
T: ?Sized,
sourcepub unsafe fn new(index: i32) -> Uniform<T>
pub unsafe fn new(index: i32) -> Uniform<T>
Create a new Uniform
.
Safety
This method must be used only by backends. If you end up using it,
then you’re doing something wrong. Read on UniformInterface
for further
information.
sourcepub fn index(&self) -> i32
pub fn index(&self) -> i32
Retrieve the internal index.
Even though that function is safe, you have no reason to use it. Read on
UniformInterface
for further details.
Trait Implementations
Auto Trait Implementations
impl<T: ?Sized> RefUnwindSafe for Uniform<T> where
T: RefUnwindSafe,
impl<T> !Send for Uniform<T>
impl<T> !Sync for Uniform<T>
impl<T: ?Sized> Unpin for Uniform<T>
impl<T: ?Sized> UnwindSafe for Uniform<T> where
T: RefUnwindSafe,
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