JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE HTML>

<html>
    
<head>
    <title>Dot Plot of a Function</title>

    <script type="text/javascript" src="gl-matrix.js"></script>
    <script type="text/javascript" src="webgl-utils.js"></script>
    
    <script id="shader-fs" type="x-shader/x-fragment">
        precision mediump float;
    
        void main(void) {
            gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
        }
    </script>

    <script id="shader-vs" type="x-shader/x-vertex">
        attribute vec3 aVertexPosition;
    
        uniform mat4 uPMatrix;
    
        void main(void) {
            gl_Position = uPMatrix * vec4(aVertexPosition, 1.0);
        }
    </script>
    
    <script type="text/javascript">
        var gl;
        var shaderProgram;
        var pMatrix = mat4.create();
        
        function initGL(canvas) {
            gl = WebGLUtils.setupWebGL(canvas);
            
            if (!gl) {
                return;
            }
            
            gl.clearColor(0.0, 0.0, 0.0, 1.0);
            
            gl.viewportWidth = canvas.width;
            gl.viewportHeight = canvas.height;
            
            mat4.ortho(0, gl.viewportWidth, 0, gl.viewportHeight, -1, 1, pMatrix);
        }
        
        function getShader(gl, id) {
            var shaderScript = document.getElementById(id);
            
            if (!shaderScript) {
                return null;
            }
    
            var str = "";
            var k = shaderScript.firstChild;
            
            while (k) {
                if (k.nodeType == 3) {
                    str += k.textContent;
                }
                
                k = k.nextSibling;
            }
    
            var shader;
            
            if (shaderScript.type == "x-shader/x-fragment") {
                shader = gl.createShader(gl.FRAGMENT_SHADER);
            } else if (shaderScript.type == "x-shader/x-vertex") {
                shader = gl.createShader(gl.VERTEX_SHADER);
            }...