p5.js | función lightFalloff()

La función lightFalloff() en p5.js se usa para establecer la atenuación de las luces puntuales en la escena. La caída de luz significa la reducción de la iluminación con la distancia del objeto desde el punto de luz. Solo afecta a los elementos que se crean después. La siguiente ecuación se utiliza para calcular la caída:

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

Donde d es la distancia desde la posición de la luz hasta la posición del vértice. El valor predeterminado de la función es lightFalloff(1.0, 0.0, 0.0).

Sintaxis:

lightFalloff( constant, linear, quadratic )

Parámetros: esta función acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:

  • constante: Es un número que denota el valor constante en la ecuación de caída.
  • lineal: es un número que denota el valor lineal en la ecuación de caída.
  • cuadrático: Es un número que denota el valor cuadrático en la ecuación de caída.

El siguiente ejemplo ilustra la función lightFalloff() en p5.js:

Ejemplo:

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);
}

Producción:
deslizadores-falloff

Editor en línea: https://editor.p5js.org/

Configuración del entorno: https://www.geeksforgeeks.org/p5-js-soundfile-object-installation-and-methods/

Referencia: https://p5js.org/reference/#/p5/lightFalloff

Publicación traducida automáticamente

Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *