📜  p5.js | lightFalloff()函数

📅  最后修改于: 2022-05-13 01:56:50.001000             🧑  作者: Mango

p5.js | lightFalloff()函数

p5.js 中的lightFalloff()函数用于设置场景中点光源的衰减。光衰减是指随着物体与点光源距离的增加,照度的减少。它只影响在它之后创建的元素。以下等式用于计算衰减:

falloff = 1 / (CONSTANT + d * LINEAR + ( d * d ) * QUADRATIC)

其中d是光源位置到顶点位置的距离。该函数的默认值为 lightFalloff(1.0, 0.0, 0.0)。

句法:

lightFalloff( constant, linear, quadratic )

参数:此函数接受三个参数,如上所述,如下所述:

  • 常数:它是一个数字,表示衰减方程中的常数值。
  • 线性:它是一个数字,表示衰减方程中的线性值。
  • 二次:它是一个数字,表示衰减方程中的二次值。

下面的示例说明了 p5.js 中的lightFalloff()函数

例子:

let newFont;
  
function preload() {
  newFont = loadFont('fonts/Montserrat.otf');
}
  
function setup() {
  createCanvas(600, 300, WEBGL);
  textFont(newFont, 15);
  
  constantSlider = createSlider(0.1, 1, 0.1, 0.1);
  constantSlider.position(20, 50);
  
  linearSlider = createSlider(0, 0.01, 0, 0.0001);
  linearSlider.position(20, 80);
  
  quadraticSlider = createSlider(0, 0.0001, 0, 0.00001);
  quadraticSlider.position(20, 110);
}
  
function draw() {
  background('green');
  text("Move the sliders to change the CONSTANT, LINEAR"
          + " and QUADRATIC values", -285, -125);
  noStroke();
  shininess(15);
  
  constantValue = constantSlider.value();
  linearValue = linearSlider.value();
  quadraticValue = quadraticSlider.value();
  
  lightFalloff(constantValue, linearValue, quadraticValue);
  pointLight(0, 128, 255, -width / 2, -height / 2, 250);
  
  specularMaterial(250);
  sphere(100);
  
  text("falloff = 1 / (" + constantValue + " + d * " +
                    linearValue + " + ( d * d ) * " + 
                    quadraticValue + " )", -285, 125);
}

输出:
滑块衰减

在线编辑器: https://editor.p5js.org/

环境设置: https://www.geeksforgeeks.org/p5-js-soundfile-object-installation-and-methods/

参考: https://p5js.org/reference/#/p5/lightFalloff