SpotLight
WLJS
Execution environment
Supports dynamics
SpotLight[color_RGBColor, opts___]
SpotLight[color_RGBColor, position_, opts___]
SpotLight[color_RGBColor, {position_, target_}, opts___]
SpotLight[color_RGBColor, {position_, target_}, angle_, opts___]
places a fake source of spot light in a 3D scene (see Graphics3D). The default target is .
Graphics3D[{Shadows[True], Polygon[ {{-5,5,-1}, {5,5,-1}, {5,-5,-1}, {-5,-5,-1}}], White, Cuboid[{-1,-1,-1}, {1,1,1}], Directive["Shadows"->False], PointLight[Red, {1.5075, 4.1557, 2.6129}, "Intensity"->50], Directive["Shadows"->True], SpotLight[Cyan, {-2.268, -2.144, 3.1635}]}, "Lighting"->None]
For the best effect, use Shadows set to True
warning
In the case of "PathTracing" renderer, spot light can only work properly if "MultipleImportanceSampling" is enabled in the options of Graphics3D
Options
"Intensity"
By the default is 100
"Decay"
"Penumbra"
"ShadowBias"
"ShadowMapSize"
See THREE.js docs
Dynamics
position and target do support updates
pos = {0,0,2};
handler = Function[data, pos = data];
KnotData[{"TorusKnot", {3, 5}}][[1]];
Graphics3D[{ Shadows[True],
  %, 
  EventHandler[Sphere[pos, 0.1], {"drag" -> handler}], 
  SpotLight[White, {Offload[pos], {0,0,0}}],
  Polygon[5{{-1,1,-1}, {1,1,-1}, {1,-1,-1}, {-1,-1,-1}}]
}, "Lighting"->None, ImageSize->600]
