Método p5.js resetShader()

El método p5.js resetShader() restaura los sombreadores predeterminados en el modo WEBGL . El código que se ejecuta después de este método no se verá afectado por los sombreadores definidos previamente.

Sintaxis:

resetShader(kindOfShader)

Parámetros: acepta kindOfShader como un parámetro opcional que es un número entero que describe el tipo de sombreado, ya sea punto, líneas o triángulos.

Tipo de Devoluciones: Tiene un tipo de devolución void.

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

Javascript

let m;
function preload() {
    // Load the shader definitions from files
    m = loadShader('shader.vert', 'shader.frag');
}
function setup() {
    createCanvas(100, 100, WEBGL);
    // Use the shader
    shader(m);
    noStroke();
    m.setUniform('p', [-0.74364388703, 0.13182590421]);
    resetShader();
}
  
function draw() {
    m.setUniform('r', 1.5 * exp(-6.5 * (1 + sin(millis() / 2000))));
    quad(-1, -1, 1, -1, 1, 1, -1, 1);
}

shader.vert

precision highp float; varying vec2 vPos;
attribute vec3 aPosition;
void main() { vPos = (gl_Position = vec4(aPosition,1.0)).xy; }

shader.frag

precision highp float; varying vec2 vPos;
uniform vec2 p;
uniform float r;
const int I = 500;
void main() {
  vec2 c = p + vPos * r, z = c;
  float n = 0.0;
  for (int i = I; i > 0; i --) {
    if(z.x*z.x+z.y*z.y > 4.0) {
      n = float(i)/float(I);
      break;
    }
    z = vec2(z.x*z.x-z.y*z.y, 2.0*z.x*z.y) + c;
  }
  gl_FragColor = vec4(0.5-cos(n*17.0)/2.0,0.5-cos(n*13.0)/2.0,0.5-cos(n*23.0)/2.0,1.0);
}

Producción: 

Al comentar el método resetShader(), el siguiente será el resultado.

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

Publicación traducida automáticamente

Artículo escrito por faizamu19 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 *