JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/pixi.js/6.0.2/browser/pixi.min.js"></script>
<canvas id="mainCanvas" width="960px" height="600px"></canvas>
JavaScript
PIXI.settings.MIPMAP_TEXTURES = PIXI.MIPMAP_MODES.ON;
PIXI.settings.PRECISION_FRAGMENT = PIXI.PRECISION.HIGH;
PIXI.settings.SCALE_MODE = PIXI.SCALE_MODES.NEAREST;
PIXI.settings.WRAP_MODE = PIXI.WRAP_MODES.CLAMP; // {10497: "REPEAT", 33071: "CLAMP", 33648: "MIRRORED_REPEAT", CLAMP: 33071, REPEAT: 10497, MIRRORED_REPEAT: 33648}
let canvas = document.getElementById("mainCanvas");
const WIDTH = canvas.width;
const HEIGHT = canvas.height;
//let renderer = new PIXI.WebGLRenderer(canvas.width, canvas.height, { view: canvas });
let appOptions = {};
appOptions.view = canvas;
appOptions.width = WIDTH;
appOptions.height = HEIGHT;
appOptions.backgroundColor = 0x000000;
appOptions.preserveDrawingBuffer = true;
appOptions.clearBeforeRender = false;
let app = new PIXI.Application(appOptions);
console.log("app.renderer.context.webGLVersion =", app.renderer.context.webGLVersion); // shows 2
let graphics = new PIXI.Graphics();
graphics.beginFill(0xff0A00, 1); // fill with 255 red, 10 green, 0 blue
graphics.drawRect(0, 0, WIDTH, HEIGHT);
graphics.endFill();
let vertexCode = null;
let fragmentCode = `
precision highp float;
uniform highp sampler2D buffer; //The image data
varying vec2 vTextureCoord; //The coordinates of the current pixel (from 0 to 1)
uniform sampler2D uSampler; //The image data
void main(){
// testing stuff, fades from red to green
vec2 pixel = texture2D(buffer, vTextureCoord).xy;
pixel.x = pixel.x * 0.95; // decrease red a bit
pixel.y = pixel.y * 1.05; // increase green a bit
gl_FragColor = vec4(pixel, 0.0, 1.0);
}
`;
let renderFragmentCode = `
precision highp float;
uniform sampler2D buffer;
varying vec2 vTextureCoord; //The coordinates of the current pixel (might be from 0 to 1)
uniform sampler2D uSampler; //The image data
void main(){
vec3 pixel = texture2D(buffer, vTextureCoord).xyz;
// for now, just pass through the colours in the buffer directly
gl_FragColor = vec4(pixel, 1.0);
}
`;
// not sure if these...