pub struct WaterEffect {
pub background: Background,
pub metallic: f32,
pub roughness: f32,
pub lighting_model: LightingModel,
}Expand description
An effect that simulates a water surface and should therefore only be applied to a water surface geometry. This effect needs the rendered scene (without the water surface) in a color and depth texture to be able to add reflections and refractions.
Fields§
§background: BackgroundThe background of the scene which is used for reflections.
metallic: f32A value in the range [0..1] specifying how metallic the surface is.
roughness: f32A value in the range [0..1] specifying how rough the surface is.
lighting_model: LightingModelThe lighting model used when rendering this effect
Trait Implementations§
Source§impl Clone for WaterEffect
impl Clone for WaterEffect
Source§fn clone(&self) -> WaterEffect
fn clone(&self) -> WaterEffect
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Default for WaterEffect
impl Default for WaterEffect
Source§impl Effect for WaterEffect
impl Effect for WaterEffect
Source§fn fragment_shader_source(
&self,
lights: &[&dyn Light],
color_texture: Option<ColorTexture<'_>>,
depth_texture: Option<DepthTexture<'_>>,
) -> String
fn fragment_shader_source( &self, lights: &[&dyn Light], color_texture: Option<ColorTexture<'_>>, depth_texture: Option<DepthTexture<'_>>, ) -> String
Returns the fragment shader source for this effect.
Source§fn id(
&self,
color_texture: Option<ColorTexture<'_>>,
depth_texture: Option<DepthTexture<'_>>,
) -> EffectMaterialId
fn id( &self, color_texture: Option<ColorTexture<'_>>, depth_texture: Option<DepthTexture<'_>>, ) -> EffectMaterialId
Returns a unique ID for each variation of the shader source returned from Effect::fragment_shader_source. Read more
Source§fn render_states(&self) -> RenderStates
fn render_states(&self) -> RenderStates
Returns the render states needed to render with this effect.
Source§fn use_uniforms(
&self,
program: &Program,
viewer: &dyn Viewer,
lights: &[&dyn Light],
color_texture: Option<ColorTexture<'_>>,
depth_texture: Option<DepthTexture<'_>>,
)
fn use_uniforms( &self, program: &Program, viewer: &dyn Viewer, lights: &[&dyn Light], color_texture: Option<ColorTexture<'_>>, depth_texture: Option<DepthTexture<'_>>, )
Sends the uniform data needed for this effect to the fragment shader.
Auto Trait Implementations§
impl Freeze for WaterEffect
impl !RefUnwindSafe for WaterEffect
impl !Send for WaterEffect
impl !Sync for WaterEffect
impl Unpin for WaterEffect
impl !UnwindSafe for WaterEffect
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
Mutably borrows from an owned value. Read more