Struct three_d::renderer::effect::WaterEffect
source · 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: Background
The background of the scene which is used for reflections.
metallic: f32
A value in the range [0..1]
specifying how metallic the surface is.
roughness: f32
A value in the range [0..1]
specifying how rough the surface is.
lighting_model: LightingModel
The 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 copy 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<'_>>
) -> u16
fn id( &self, color_texture: Option<ColorTexture<'_>>, depth_texture: Option<DepthTexture<'_>> ) -> u16
Returns a unique ID for each variation of the shader source returned from Effect::fragment_shader_source. Read more
source§fn fragment_attributes(&self) -> FragmentAttributes
fn fragment_attributes(&self) -> FragmentAttributes
Returns a FragmentAttributes struct that describes which fragment attributes,
ie. the input from the vertex shader, are required for rendering with this effect.
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,
camera: &Camera,
lights: &[&dyn Light],
color_texture: Option<ColorTexture<'_>>,
depth_texture: Option<DepthTexture<'_>>
)
fn use_uniforms( &self, program: &Program, camera: &Camera, 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 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