Sets the falloff rates for point lights, spot lights, and ambient lights.


example picture for light_falloff()
 1def setup():
 2    py5.size(100, 100, py5.P3D)
 3    py5.no_stroke()
 4    py5.background(0)
 5    py5.light_falloff(1.0, 0.001, 0.0)
 6    py5.point_light(150, 250, 150, 50, 50, 50)
 7    py5.begin_shape()
 8    py5.vertex(0, 0, 0)
 9    py5.vertex(100, 0, -100)
10    py5.vertex(100, 100, -100)
11    py5.vertex(0, 100, 0)
12    py5.end_shape(py5.CLOSE)


Sets the falloff rates for point lights, spot lights, and ambient lights. Like fill(), it affects only the elements which are created after it in the code. The default value is light_falloff(1.0, 0.0, 0.0), and the parameters are used to calculate the falloff with the equation falloff = 1 / (CONSTANT + d * ``LINEAR + (d*d) * QUADRATIC)``, where d is the distance from light position to vertex position.

Thinking about an ambient light with a falloff can be tricky. If you want a region of your scene to be lit ambiently with one color and another region to be lit ambiently with another color, you could use an ambient light with location and falloff. You can think of it as a point light that doesn’t care which direction a surface is facing.

Underlying Processing method: lightFalloff


light_falloff(constant: float, linear: float, quadratic: float, /) -> None


  • constant: float - constant value or determining falloff

  • linear: float - linear value for determining falloff

  • quadratic: float - quadratic value for determining falloff

Updated on November 12, 2021 11:30:58am UTC