Learn R Programming

rayshader (version 0.37.3)

add_shadow: Add Shadow

Description

Multiplies a texture array or shadow map by a shadow map.

Usage

add_shadow(hillshade, shadowmap, max_darken = 0.7, rescale_original = FALSE)

Value

Shaded texture map.

Arguments

hillshade

A three-dimensional RGB array or 2D matrix of shadow intensities.

shadowmap

A matrix that incidates the intensity of the shadow at that point. 0 is full darkness, 1 is full light.

max_darken

Default `0.7`. The lower limit for how much the image will be darkened. 0 is completely black, 1 means the shadow map will have no effect.

rescale_original

Default `FALSE`. If `TRUE`, `hillshade` will be scaled to match the dimensions of `shadowmap` (instead of the other way around).

Examples

Run this code
#First we plot the sphere_shade() hillshade of `montereybay` with no shadows

if(run_documentation()) {
montereybay %>%
 sphere_shade(colorintensity=0.5) %>%
 plot_map()
}

#Raytrace the `montereybay` elevation map and add that shadow to the output of sphere_shade()
if(run_documentation()) {
montereybay %>%
 sphere_shade(colorintensity=0.5) %>%
 add_shadow(ray_shade(montereybay,sunaltitude=20,zscale=50),max_darken=0.3) %>%
 plot_map()
}

#Increase the intensity of the shadow map with the max_darken argument.
if(run_documentation()) {
montereybay %>%
 sphere_shade(colorintensity=0.5) %>%
 add_shadow(ray_shade(montereybay,sunaltitude=20,zscale=50),max_darken=0.1) %>%
 plot_map()
}

#Decrease the intensity of the shadow map.
if(run_documentation()) {
montereybay %>%
 sphere_shade(colorintensity=0.5) %>%
 add_shadow(ray_shade(montereybay,sunaltitude=20,zscale=50),max_darken=0.7) %>%
 plot_map()
}

Run the code above in your browser using DataLab