xxxxxxxxxx
54
let buffer;
let outlineShader;
function preload() {
outlineShader = loadShader("shader.vert", "outline.frag");
}
function setup() {
createCanvas(400, 400, WEBGL);
buffer = createFramebuffer();
noStroke();
// noLoop();
}
function draw() {
resetShader();
buffer.begin();
background(255);
ambientLight(150);
directionalLight(255, 255, 255, 0, 0.3, -1);
push();
translate(50, 0, 0);
rotateX(frameCount * 0.01);
rotateY(frameCount * 0.01);
fill(255, 0, 0);
box(80);
pop();
push();
translate(-50, 0, 0);
rotateZ(frameCount * 0.02);
rotateY(frameCount * 0.04);
fill(0, 255, 255);
box(40, 200, 40);
pop();
buffer.end();
outlineShader.setUniform("texture", buffer.color);
outlineShader.setUniform("depth", buffer.depth);
outlineShader.setUniform("res", [width, height]);
clear();
shader(outlineShader);
rect(0, 0, width, height);
// image(buffer.color, -width/2, -height/2);
}