Function vizia::vg::image_filters::spot_lit_diffuse

pub fn spot_lit_diffuse(
    location: impl Into<Point3>,
    target: impl Into<Point3>,
    falloff_exponent: f32,
    cutoff_angle: f32,
    light_color: impl Into<Color>,
    surface_scale: f32,
    kd: f32,
    input: impl Into<Option<RCHandle<SkImageFilter>>>,
    crop_rect: impl Into<CropRect>,
) -> Option<RCHandle<SkImageFilter>>
Expand description

Create a filter that calculates the diffuse illumination from a spot light source, using alpha channel of the input as the height profile of the surface (to approximate normal vectors). The spot light is restricted to be within ‘cutoff_angle’ of the vector between the location and target.

  • location - The location of the spot light.
  • target - The location that the spot light is point towards
  • falloff_exponent - Exponential falloff parameter for illumination outside of cutoff_angle
  • cutoff_angle - Maximum angle from lighting direction that receives full light
  • light_color - The color of the diffuse light source.
  • surface_scale - Scale factor to transform from alpha values to physical height.
  • kd - Diffuse reflectance coefficient.
  • input - The input filter that defines surface normals (as alpha), or uses the source bitmap when null.
  • crop_rect - Optional rectangle that crops the input and output.