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