sphere_shade: Calculate Surface Color Map

View source: R/sphere_shade.R

sphere_shadeR Documentation

Calculate Surface Color Map

Description

Calculates a color for each point on the surface using the surface normals and hemispherical UV mapping. This uses either a texture map provided by the user (as an RGB array), or a built-in color texture.

Usage

sphere_shade(
  heightmap,
  sunangle = 315,
  texture = "imhof1",
  normalvectors = NULL,
  colorintensity = 1,
  zscale = 1,
  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.

sunangle

Default '315' (NW). The direction of the main highlight color (derived from the built-in palettes or the 'create_texture' function).

texture

Default 'imhof1'. Either a square matrix indicating the spherical texture mapping, or a string indicating one of the built-in palettes ('imhof1','imhof2','imhof3','imhof4','desert', 'bw', and 'unicorn').

normalvectors

Default 'NULL'. Cache of the normal vectors (from 'calculate_normal' function). Supply this to speed up texture mapping.

colorintensity

Default '1'. The intensity of the color mapping. Higher values will increase the intensity of the color mapping.

zscale

Default '1/colorintensity'. The ratio between the x and y spacing (which are assumed to be equal) and the z axis. Ignored unless 'colorintensity' missing.

progbar

Default 'TRUE' if interactive, 'FALSE' otherwise. If 'FALSE', turns off progress bar.

Value

RGB array of hillshaded texture mappings.

Examples

#Basic example:
montereybay %>%
 sphere_shade() %>%
 plot_map()
 
#Decrease the color intensity:
montereybay %>%
 sphere_shade(colorintensity=0.1) %>%
 plot_map()
 
#Change to a built-in color texture:
montereybay %>%
 sphere_shade(texture="desert") %>%
 plot_map()

#Change the highlight angle:
montereybay %>%
 sphere_shade(texture="desert", sunangle = 45) %>%
 plot_map()

#Create our own texture using the `create_texture` function:
montereybay %>%
 sphere_shade(zscale=10,texture=create_texture("#E9C68D","#AF7F38",
                                               "#674F30","#494D30",
                                               "#B3BEA3")) %>%
 plot_map()

tylermorganwall/rayshader documentation built on Dec. 21, 2024, 4:29 p.m.