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...