Lights

Light Creation

p5.lights()

Sets the default ambient light, directional light, falloff, and specular values.

The defaults are ambientLight(128, 128, 128), directionalLight(128, 128, 128, 0, 0, -1), and lightFalloff(1, 0, 0).

p5.ambient_light(r, g, b)

Adds an ambient light.

Ambient light comes from all directions towards all directions. Ambient lights are almost always used in combination with other types of lights.

Parameters:
  • r (float) – red channel
  • g (float) – green channel
  • b (float) – blue channel
p5.directional_light(r, g, b, x, y, z)

Adds a directional light. Directional light comes from one direction: it is stronger when hitting a surface squarely, and weaker if it hits at a gentle angle. After hitting a surface, directional light scatters in all directions.

Parameters:
  • r (float) – red channel
  • g (float) – green channel
  • b (float) – blue channel
  • x (float) – x component of the direction vector
  • y (float) – y component of the direction vector
  • z (float) – z component of the direction vector
p5.point_light(r, g, b, x, y, z)

Adds a point light. Point light comes from one location and emits to all directions.

Parameters:
  • r (float) – red channel
  • g (float) – green channel
  • b (float) – blue channel
  • x (float) – x component of the location vector
  • y (float) – y component of the location vector
  • z (float) – z component of the location vector

Light Effects

p5.light_falloff(constant, linear, quadratic)

Sets the falloff rates for point lights. Affects only the elements which are created after it in the code.

d = distance from light position to vertex position

falloff = 1 / (constant + d * linear + (d*d) * quadratic)

If the coefficient is 0, then that term is ignored. The P3D renderer defaults to (0, 0, 0), i.e. no falloff.

Parameters:
  • constant (float) – coefficient for the constant term
  • linear (float) – coefficient for the linear term
  • quadratic (float) – coefficient for the quadratic term

light_specular()

p5.light_specular(r, g, b)

Sets the specular color for lights. Only visible with p5.blinn_phong_material. Is set to (0 ,0, 0) by default. Affects only the elements which are created after it in the code.

Specular refers to light which bounces off a surface in a preferred direction (rather than bouncing in all directions like a diffuse light) and is used for creating highlights. The specular quality of a light interacts with the specular material qualities set through the specular() and shininess() functions.

Parameters:
  • r (float) – red channel
  • g (float) – green channel
  • b (float) – blue channel