pub struct Shader { /* private fields */ }
Expand description
A custom fragment shader that can be used to render with shader effects.
Adapted from the shader.rs
example:
#[derive(AsStd140)]
struct Dim {
rate: f32,
}
struct MainState {}
impl event::EventHandler for MainState {
fn draw(&mut self, ctx: &mut Context) -> GameResult {
let mut canvas = graphics::Canvas::from_frame(ctx, Color::BLACK);
let dim = Dim { rate: 0.5 };
// NOTE: This is for simplicity; do not recreate your shader every frame like this!
// For more info look at the full example.
let shader = Shader::from_wgsl(
ctx,
include_str!("../../resources/dimmer.wgsl"),
"main"
);
let params = ShaderParams::new(ctx, &dim, &[], &[]);
params.set_uniforms(ctx, &dim);
canvas.set_shader(shader);
canvas.set_shader_params(params);
// draw something...
canvas.finish(ctx)
}
/* ... */
}
Implementations
Trait Implementations
impl Eq for Shader
impl StructuralEq for Shader
impl StructuralPartialEq for Shader
Auto Trait Implementations
impl !RefUnwindSafe for Shader
impl Send for Shader
impl Sync for Shader
impl Unpin for Shader
impl !UnwindSafe for Shader
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.sourceimpl<T> HasMut<T> for T
impl<T> HasMut<T> for T
sourcefn retrieve_mut(&mut self) -> &mut T
fn retrieve_mut(&mut self) -> &mut T
Method to retrieve the context type as mutable.