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 towardsfalloff_exponent
- Exponential falloff parameter for illumination outside ofcutoff_angle
cutoff_angle
- Maximum angle from lighting direction that receives full lightlight_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.