R: Calculate Ambient Occlusion Map

ambient_shade {rayshader} | R Documentation

## Calculate Ambient Occlusion Map

### Description

Calculates Ambient Occlusion Shadow Map

### Usage

    ambient_shade(
      heightmap,
      anglebreaks = 90 * cospi(seq(5, 85, by = 5)/180),
      sunbreaks = 24,
      maxsearch = 30,
      multicore = FALSE,
      zscale = 1,
      cache_mask = NULL,
      shadow_cache = NULL,
      progbar = interactive(),
      ...
    )

### Arguments

`heightmap` | A two-dimensional matrix, where each entry in the matrix is the elevation at that point. All points are assumed to be evenly spaced.
`anglebreaks` | Default '90*cospi(seq(5, 85,by =5)/180)'. The angle(s), in degrees, as measured from the horizon from which the light originates.
`sunbreaks` | Default '24'. Number of rays to be sent out in a circle, evenly spaced, around the point being tested.
`maxsearch` | Default '30'. The maximum horizontal distance that the system should propogate rays to check for surface intersections.
`multicore` | Default FALSE. If TRUE, multiple cores will be used to compute the shadow matrix. By default, this uses all cores available, unless the user has set 'options("cores")' in which the multicore option will only use that many cores.
`zscale` | Default 1. The ratio between the x and y spacing (which are assumed to be equal) and the z axis.
`cache_mask` | Default 'NULL'. A matrix of 1 and 0s, indicating which points on which the raytracer will operate.
`shadow_cache` | Default 'NULL'. The shadow matrix to be updated at the points defined by the argument 'cache_mask'.
`progbar` | Default 'TRUE' if interactive, 'FALSE' otherwise. If 'FALSE', turns off progress bar.
`...` | Additional arguments to pass to the 'makeCluster' function when 'multicore=TRUE'.

### Value

Shaded texture map.

### Examples

    #Here we produce a ambient occlusion map of the `montereybay` elevation map.
    ## Not run:
    plot_map(ambient_shade(heightmap = montereybay))

    ## End(Not run)

    #We can increase the distance to look for surface intersections `maxsearch`
    #and the density of rays sent out around the point `sunbreaks`.
    ## Not run:
    plot_map(ambient_shade(montereybay, sunbreaks = 24,maxsearch = 100, multicore=TRUE))

    ## End(Not run)
    #Create the Red Relief Image Map (RRIM) technique using a custom texture and ambient_shade(),
    #with an addition lambertian layer added with lamb_shade() to improve topographic clarity.
    ## Not run:
    bigmb = resize_matrix(montereybay, scale=2, method="cubic")
    bigmb %>%
     sphere_shade(zscale=3, texture = create_texture("red","red","red","red","white")) %>%
     add_shadow(ambient_shade(bigmb, maxsearch = 100, multicore = TRUE,zscale=1),0) %>%
     add_shadow(lamb_shade(bigmb),0.5) %>%
     plot_map()

    ## End(Not run)

[Package rayshader version 0.24.5 Index]