xxxxxxxxxx
161
//reference to gen-type-buffer b_by sojamo
//code edited by KaiSiang Sin
let label = "風水";
let buffer1;
let buffer2;
let font;
function preload() {
font = loadFont("DelaGothicOne-Regular.ttf");
}
function setup() {
createCanvas(1920, 1080, WEBGL);
// buffer 2
buffer2 = createGraphics(1000, 100);
buffer2.background(139,0,0);
buffer2.fill(0, 0, 0);
buffer2.noStroke();
buffer2.textFont(font);
buffer2.textSize(80);
for (let i = 0; i < 10; i++) {
buffer2.text("GENERATIVE TYPE", 4 + i * 250, 70);
}
buffer2.fill(139,0,0);
buffer2.rect(0, 0, 2, buffer2.height);
buffer2.rect(buffer2.width - 2, 0, 2, buffer2.height);
textureMode(NORMAL);
}
function draw() {
background(139,0,0);
rotateY(57);
noStroke();
translate(0, -100, 300);
push();
translate(
410,sin(frameCount / 25) * 0.03
);
translate(-100, 200);
rotateY(frameCount * 0.01);
cylinder(100, 100);
pop();
push();
translate(0, sin(frameCount / 25) * 0.03);
rotateY(frameCount * 0.01);
cylinder(200, 100);
pop();
push();
translate(-410, sin(frameCount / 25) * 0.03);
rotateY(frameCount * 0.01);
cylinder(200, 100);
pop();
texture(buffer2);
for (let i = 0; i < 3; i++) {
// layer 2
push();
translate(410, sin(frameCount / 25) * 0.03);
translate(0, 75);
rotateY(frameCount * -0.01);
cylinder(90, 2 + i * 100);
pop();
push();
translate(0, sin(frameCount / 25) * 0.03);
translate(0, 300);
rotateY(frameCount * -0.01);
cylinder(300, 250);
pop();
push();
translate(-410, sin(frameCount / 25) * 0.03);
translate(40, 80);
rotateY(frameCount * -0.01);
cylinder(100, 50);
pop();
// layer 3
push();
translate(410, sin(frameCount / 25) * 0.03);
translate(0, -100);
rotateY(frameCount * 0.01);
cylinder(110, 100);
pop();
push();
translate(0,sin(frameCount/25)*0.03);
translate(30,400);
rotateY(frameCount * 0.01);
cylinder(600, 2 + i*100);
pop();
push();
translate (-410, sin(frameCount/25)*0.03);
translate(0,200);
rotateY(frameCount * 0.01);
cylinder(90, 50);
pop();
push();
translate(0, 40);
translate(0,350);
rotateY(frameCount * -0.01);
cylinder(500, 2 + i*50);
pop();
push();
translate(-400,cos(frameCount/25)*0.03);
translate(-50,150);
rotateY(frameCount * -0.01);
cylinder(100, 50);
pop();
push();
translate (-410, sin(frameCount/25)*0.03);
translate(0,280);
rotateY(frameCount * -0.01);
cylinder(100, 100);
pop();
push();
translate(-410, sin(frameCount/25)*0.03);
translate(500,-150);
rotateY(frameCount * 0.01);
cylinder(200, 2 + i*100);
pop();
push();
translate(410, sin(frameCount/25)*0.03);
translate(-500,150);
rotateY(frameCount * 0.01);
cylinder(150, 6 + i*50);
pop();
push();
translate(0,sin(frameCount/25)*0.30);
translate(-350,-110);
rotateY(frameCount * 0.01);
cylinder(150, 2 + i*50);
pop();
push();
translate(0,sin(frameCount/25)*0.30);
translate(-650,100);
rotateY(frameCount * 0.01);
cylinder(150, 2 + i*50);
pop();
}
texture(buffer2);
}