Name

spotLight()

Description

Adds a spotlight. Lights need to be included in the draw() to remain persistent in a looping program. Placing them in the setup() of a looping program will cause them to only have an effect the first time through the loop. The v1, v2, and v3 parameters are interpreted as either RGB or HSB values, depending on the current color mode. The x, y, and z parameters specify the position of the light and nx, ny, nz specify the direction of light. The angle parameter affects angle of the spotlight cone, while concentration sets the bias of light focusing toward the center of that cone.

Examples

  • size(400, 400, P3D);
    background(0);
    noStroke();
    spotLight(51, 102, 126, 320, 80, 160, -1, 0, 0, PI/2, 2);
    translate(80, 200, 0);
    sphere(120);
    Image output for example 1
  • size(400, 400, P3D); 
    int concentration = 600;  // Try 1 -> 10000
    background(0); 
    noStroke(); 
    spotLight(51, 102, 126, 200, 200, 1600, 
              0, 0, -1, PI/16, concentration); 
    translate(320, 200, 0); 
    sphere(120);
    Image output for example 2

Syntax

  • spotLight(v1, v2, v3, x, y, z, nx, ny, nz, angle, concentration)

Parameters

  • v1(float)red or hue value (depending on current color mode)
  • v2(float)green or saturation value (depending on current color mode)
  • v3(float)blue or brightness value (depending on current color mode)
  • x(float)x-coordinate of the light
  • y(float)y-coordinate of the light
  • z(float)z-coordinate of the light
  • nx(float)direction along the x‑axis
  • ny(float)direction along the y‑axis
  • nz(float)direction along the z‑axis
  • angle(float)angle of the spotlight cone
  • concentration(float)exponent determining the center bias of the cone

Return

  • void