xxxxxxxxxx
45
let golShader;
// load in the shader
function preload() {
golShader = loadShader('gol.vert', 'gol.frag');
}
function setup() {
createCanvas(600, 600);
// pixelDensity(1);
background(0);
stroke(255);
fill(255);
textAlign(CENTER, CENTER);
textSize(60);
text("p5.filterShader", width/2, height/2);
frameRate(30);
}
function draw() {
// Draw a line on the canvas if the mouse is pressed
if(mouseIsPressed) {
line(pmouseX, pmouseY, mouseX, mouseY);
}
golShader.setUniform("num_states", 200);
golShader.setUniform("spread_rate", 70);
golShader.setUniform("infected_weight", 2);
golShader.setUniform("ill_weight", 3);
filterShader(golShader);
}
function keyReleased() {
if(key === "r") {
stroke(255, 0, 0);
} else if(key === "g") {
stroke(0, 255, 0);
} else if(key === "b") {
stroke(0, 0, 255);
} else if(key === "w") {
stroke(255);
}
}