lightFalloff

def setup
  createCanvas(100, 100, WEBGL)
  noStroke
end

def draw
  ortho
  background(0)

  locX = mouseX - width / 2
  locY = mouseY - height / 2
  locX /= 2   #  half scale

  lightFalloff(1, 0, 0)
  push do
    translate(-25, 0, 0)
    pointLight(250, 250, 250, locX - 25, locY, 50)
    sphere(20)
  end

  lightFalloff(0.97, 0.03, 0)
  push do
    translate(25, 0, 0)
    pointLight(250, 250, 250, locX + 25, locY, 50)
    sphere(20)
  end
end

p5.jsリファレンス(参考情報)

[p5.js] lightFalloff

概要

spotLightメソッドおよび pointLightメソッドにおけるライトの減衰率を設定します。

書式

lightFalloff(constant, linear, quadratic)

引数

引数名内容備考オプションデフォルト値
constantCONSTANT値備考欄の計算式を参照
linearLINEAR値備考欄の計算式を参照
quadraticQUADRATIC値備考欄の計算式を参照

戻値

なし

備考

・減衰率は下記の式によって計算されます。

  減衰率 = 1 / (CONSTANT + d * LINEAR + (d * d) * QUADRATIC)

  d = ライトの位置から頂点の位置までの距離

関連

spotLight
pointLight