xxxxxxxxxx
var theShader;
var shaderTexture;
var img;
function preload(){
// load the shader
theShader = loadShader('texture.vert','texture.frag');
img = loadImage('cat.png');
}
function setup() {
// shaders require WEBGL mode to work
createCanvas(windowWidth, windowHeight, WEBGL);
noStroke();
noSmooth();
pixelDensity(1);
// initialize the createGraphics layers
// FBO (frame buffer object):
shaderTexture = createGraphics(img.width, img.height, WEBGL);
shaderTexture.noStroke();
}
function draw() {
// 1 - set the parameters to the shader:
theShader.setUniform('uSampler', img);
theShader.setUniform("resolution", [shaderTexture.width, shaderTexture.height]);
theShader.setUniform("time", millis() / 1000.0);
theShader.setUniform("mouse", [mouseX/width, mouseY/height]);
// 2 - run the shader in the FBO
shaderTexture.noSmooth();
shaderTexture.shader(theShader); // executes the code
shaderTexture.rect(0,0,img.width,img.height); // draws an output that's gonna have it
background(255);
// 3 - use the output of the shader as a texture
texture(shaderTexture);
// 4 - draw whatever
plane(height,height); // CAT IS SQUARE
}