xxxxxxxxxx
92
let firstShader;
let slitShader;
let imgBuffer;
let slitBuffer;
let captureBuffer;
let img;
let recording = false
function playVideo() {
vid.loop();
isVideoReady = true;
}
function preload() {
firstShader = loadShader('shader.vert', 'shader.frag');
slitShader = loadShader('shader.vert', 'slitscan.frag');
img = loadImage("mountain.jpg");
}
function setup() {
createCanvas(800, 600);
noStroke();
vid = createVideo("https://player.vimeo.com/external/422310269.hd.mp4?s=ac2d745c9b495af3ea1e08c83a478388658ea222&profile_id=175", playVideo);
vid.hide();
imgBuffer = createGraphics(512,512,WEBGL)
slitBuffer = createGraphics(width,height,WEBGL)
captureBuffer = createGraphics(width*2,height*2,WEBGL)
vidBuffer = createGraphics(1024,1024)
vid.size(1024, 1024);
imgBuffer.textureWrap(MIRROR);
// slitBuffer.textureWrap(MIRROR);
captureBuffer.noStroke();
imgBuffer.noStroke();
captureBuffer.noStroke();
vidBuffer.noStroke();
// img = createCapture(VIDEO);
// img.hide();
}
function draw() {
background(0);
vidBuffer.image(vid, 0, 0);
//rotate webcam video in buffer
imgBuffer.shader(firstShader);
firstShader.setUniform("tex", vidBuffer);
firstShader.setUniform("resolution", [width, height]);
firstShader.setUniform("time", frameCount *0.5);
imgBuffer.rect(0, 0, width, height);
//pass rotating video to slitscan
slitBuffer.shader(slitShader)
slitShader.setUniform("tex", imgBuffer);
slitShader.setUniform("tex2", captureBuffer);
slitShader.setUniform("resolution", [width, height]);
slitShader.setUniform("time", frameCount *0.5);
slitBuffer.rect(0, 0, width, height);
// captureBuffer.fill(255,0,0);
// captureBuffer.translate(-100,-100)
// captureBuffer.rect(0,0,width,height);
captureBuffer.image(slitBuffer,-width/2,-height/2);
image(slitBuffer,0,0,width,height)
// image(img,0,0,360,360)
}
function mousePressed() {
if (recording) {
stopRecording()
recording = false
} else {
startRecording()
recording = true
}
}