function createREGLInstance () {
const w = 512;
const h = 512;
const container = document.createElement('div');
container.style.position = "relative";
container.style.width = w + 'px';
container.style.height = h + 'px';
const glCanvas = document.createElement('canvas');
glCanvas.style.position = "absolute";
glCanvas.style.top = 0
glCanvas.style.left = 0;
glCanvas.style.width = '100%';
glCanvas.style.height = '100%';
glCanvas.style.zIndex = 1;
glCanvas.width = w;
glCanvas.height = h;
const topCanvas = document.createElement('canvas');
topCanvas.style.position = "absolute";
topCanvas.style.top = 0
topCanvas.style.left = 0;
topCanvas.style.width = '100%';
topCanvas.style.height = '100%';
topCanvas.style.zIndex = 2;
topCanvas.width = w;
topCanvas.height = h;
container.appendChild(glCanvas);
container.appendChild(topCanvas);
const regl = createREGL(
Object.assign({canvas: glCanvas, extensions: 'OES_texture_float'}))
regl.canvas = glCanvas;
regl.topCanvas = topCanvas;
regl.container = container;
return regl
}