xxxxxxxxxx
let sh;
let u_resolution;
let numBalls = 60;
let balls;
let dirs;
let speed = 0.001;
function logg(n) {
console.log(n);
}
function preload() {
sh = loadShader('vert.txt', 'frag.txt'); //, logg, logg);
}
function setup() {
document.documentElement.style.overflow = 'hidden';
document.body.scroll = "no";
createCanvas(windowWidth, windowHeight, WEBGL);
u_resolution = [width, height];
initBalls();
shader(sh);
sh.setUniform('step1', 0.79);
sh.setUniform('step2', 0.81);
sh.setUniform('u_resolution', u_resolution);
// background(100);
}
function draw() {
// background(100);
// translate(-0.5 * width, -0.5 * height);
moveBalls();
sh.setUniform('balls', balls);
// fill (0, 255, 0);
// stroke (0, 255, 0);
rect(-width, -height, 2 * width, 2 * height);
//quad(-1, -1, 1, -1, 1, 1, -1, 1);
// rect (mouseX, mouseY, 1, 1);
// ellipse(mouseX, mouseY, 1, 1);
// gl.drawArrays(gl.POINTS, 0, 1);
}
function initBalls() {
balls = [];
dirs = []
for (let ii = 0; ii < numBalls; ++ii) {
balls.push(random(2));
balls.push(random(2));
let dir = random(TWO_PI);
dirs.push(speed * cos(dir));
dirs.push(speed * sin(dir));
}
}
function moveBalls() {
for (let ii = 0; ii < balls.length; ii += 1) {
balls[ii] += dirs[ii];
if (balls[ii] < 0 || balls[ii] > 2) {
dirs[ii] *= -1;
balls[ii] += dirs[ii];
}
}
}
function keyPressed() {
console.log(frameRate());
}