xxxxxxxxxx
63
let sh_render;
let sketchRotator = 0;
let XYSizer = 50;
// 백버퍼 (이전 프레임을 기록하는 화면에 실제로 그려지지는 않는 캔버스)
let backbuffer;
// 메인 캔버스
let canvas;
function preload() {
sh_render = loadShader("shaders/render.vert", "shaders/render.frag");
}
function setup() {
pixelDensity(1);
//canvas = createCanvas(windowWidth, windowHeight, WEBGL);
canvas = createCanvas(1360, 730, WEBGL);
backbuffer = createGraphics(width, height, WEBGL);
backbuffer.clear();
backbuffer.background(130);
}
function draw() {
backbuffer.clear();
backbuffer.image(canvas, width * -0.5, height * -0.5, width, height);
clear();
shader(sh_render);
sh_render.setUniform("buffer", backbuffer);
sh_render.setUniform("res", [width, height]);
sh_render.setUniform("pixel_density", [pixelDensity()]);
sh_render.setUniform("time", millis() / 400);
let mx = mouseX / width;
mx = (0.3 + cos(sketchRotator) * .15) * (1 + abs(cos(sketchRotator * 3)));
let my = 1 + (-1 * mouseY / height);
my = (0.3 + sin(sketchRotator) * .15) * (1 + abs(sin(sketchRotator * 3)));
// print("MX is "+round(mx,2)+", MY is "+round(my,2));
sh_render.setUniform("mouse", [mx, my]);
rect(0, 0, width, height);
if (frameCount % 600 == 200) {
// print("Frame Rate "+round(frameRate(),2));
}
sketchRotator += 0.005;
}
function keyPressed() {
if (keyCode == ALT) {
let fs = fullscreen();
fullscreen(!fs);
noCursor();
}
if (key == 'x') {
print("this should work");
}
}