pub struct ColorGeo { /* private fields */ }Expand description
Includes a 4x4 homogeneous geometry transformation, a 4x4 homogenous color transformation, a saturation modifier, and a color lookup table (LUT).
Implementations§
Source§impl ColorGeo
impl ColorGeo
Sourcepub fn new(
gpu: &WGPU,
color_texture: &Texture,
lut_texture: &Texture,
color_target: ColorTargetState,
) -> Self
pub fn new( gpu: &WGPU, color_texture: &Texture, lut_texture: &Texture, color_target: ColorTargetState, ) -> Self
Creates a new ColorGeo phase.
Sourcepub fn set_color_target(&mut self, gpu: &WGPU, color_target: ColorTargetState)
pub fn set_color_target(&mut self, gpu: &WGPU, color_target: ColorTargetState)
Changes the postprocessing phase’s color target, re-creating the pipeline if needed
Sourcepub fn set_post(
&mut self,
gpu: &WGPU,
trf: [f32; 16],
color_trf: [f32; 16],
sat: f32,
)
pub fn set_post( &mut self, gpu: &WGPU, trf: [f32; 16], color_trf: [f32; 16], sat: f32, )
Updates simple parameters for color-geometry transforms. To replace the lut, call ColorGeo::replace_lut.
Sourcepub fn replace_color_texture(&mut self, gpu: &WGPU, color: &Texture)
pub fn replace_color_texture(&mut self, gpu: &WGPU, color: &Texture)
Replaces the color texture resource used by this postprocessing stage (for example, because the color target has changed size).
Sourcepub fn replace_lut(&mut self, gpu: &WGPU, lut: &Texture)
pub fn replace_lut(&mut self, gpu: &WGPU, lut: &Texture)
Replaces the lookup table used by this postprocessing stage. The LUT should be a 3D texture.
Sourcepub fn render<'s, 'pass>(&'s self, rpass: &mut RenderPass<'pass>)where
's: 'pass,
pub fn render<'s, 'pass>(&'s self, rpass: &mut RenderPass<'pass>)where
's: 'pass,
Renders onto the given renderpass.
Sourcepub fn transform(&self) -> [f32; 16]
pub fn transform(&self) -> [f32; 16]
Returns the current geometric transform (a 4x4 homogeneous column-major matrix).
Sourcepub fn color_transform(&self) -> [f32; 16]
pub fn color_transform(&self) -> [f32; 16]
Returns the current color transform (a 4x4 homogeneous column-major matrix).
Sourcepub fn saturation(&self) -> f32
pub fn saturation(&self) -> f32
Returns the current saturation modifier (0.0 means identity, negative decreases and positive increases saturation).
Sourcepub fn set_transform(&mut self, gpu: &WGPU, mat: [f32; 16])
pub fn set_transform(&mut self, gpu: &WGPU, mat: [f32; 16])
Sets the geometric transform (a 4x4 homogeneous column-major matrix).
Sourcepub fn set_color_transform(&mut self, gpu: &WGPU, mat: [f32; 16])
pub fn set_color_transform(&mut self, gpu: &WGPU, mat: [f32; 16])
Sets the color transform (a 4x4 homogeneous column-major matrix).
Sourcepub fn set_saturation(&mut self, gpu: &WGPU, sat: f32)
pub fn set_saturation(&mut self, gpu: &WGPU, sat: f32)
Sets the saturation modifier (0.0 means identity, negative decreases and positive increases saturation).
Auto Trait Implementations§
impl !Freeze for ColorGeo
impl !RefUnwindSafe for ColorGeo
impl Send for ColorGeo
impl Sync for ColorGeo
impl Unpin for ColorGeo
impl !UnwindSafe for ColorGeo
Blanket Implementations§
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.