evoke-js/4.js

46 lines
906 B
JavaScript
Raw Permalink Normal View History

2024-08-17 18:23:26 +00:00
const black = '#1a181a';
const white = '#e5c463';
let width = window.innerWidth;
let height = window.innerHeight;
let xScale = 0.015;
let yScale = 0.02;
let gridsize = 10;
let canvas;
let frameBuffer;
function setup(){
canvas = createCanvas(width, height, WEBGL);
frameBuffer = createFramebuffer({ width: 800, height: 800 });
noFill();
noStroke();
rotateY(45);
}
function draw() {
if (frameCount % 60 === 0) {
frameBuffer.begin();
background(black);
fill(white);
const count = frameCount / 100;
for (let x = -0.5 * width; x < 0.5 * width; x += gridsize) {
for (let y = -0.5 * height; y < 0.5 * height; y += gridsize) {
let noiseValue = noise(x * xScale, y * yScale, count);
square(x, y, noiseValue * gridsize);
}
}
frameBuffer.end();
}
background(black);
push();
rotateY(frameCount / 1000);
textureWrap(MIRROR);
texture(frameBuffer);
sphere(200);
pop();
}