xxxxxxxxxx
51
let vert = `
attribute vec3 aPosition;
attribute vec2 aTexCoord;
uniform mat4 uProjectionMatrix;
uniform mat4 uModelViewMatrix;
varying vec2 uv;
void main(){
gl_Position = uProjectionMatrix * uModelViewMatrix * vec4(aPosition, 1.0);
uv = aTexCoord;
}
`;
let frag = `
precision highp float;
uniform sampler2D uSampler;
varying vec2 uv;
void main(){
gl_FragColor = texture2D(uSampler, uv).brga;
}
`;
let nyan;
let shade;
function preload(){
nyan = loadImage("nyan.gif");
}
function setup() {
createCanvas(400, 400, WEBGL);
shade = createShader(vert, frag);
imageMode(CENTER);
rectMode(CENTER);
}
function draw() {
background(220);
shader(shade);
shade.setUniform("uSampler", nyan);
rect(0, 0, 100, 100);
resetShader();
// Uncomment to see the gif start working again.
// image(nyan, -100, 0, 100, 100);
}