-
- WebGL Demo
-
-
-
-
-
-
-
-
-
-
diff --git a/webgl-examples/tutorial/tetrahedron/webgl-demo.js b/webgl-examples/tutorial/tetrahedron/webgl-demo.js
deleted file mode 100644
index c07f4543..00000000
--- a/webgl-examples/tutorial/tetrahedron/webgl-demo.js
+++ /dev/null
@@ -1,440 +0,0 @@
-var tetrahedronRotation = 0.0;
-
-main();
-
-//
-// Start here
-//
-function main() {
- const canvas = document.querySelector("#glcanvas");
- const gl =
- canvas.getContext("webgl") || canvas.getContext("experimental-webgl");
-
- // If we don't have a GL context, give up now
-
- if (!gl) {
- alert(
- "Unable to initialize WebGL. Your browser or machine may not support it."
- );
- return;
- }
-
- // Vertex shader program
-
- const vsSource = `
- attribute vec4 aVertexPosition;
- attribute vec4 aVertexColor;
-
- uniform mat4 uModelViewMatrix;
- uniform mat4 uProjectionMatrix;
-
- varying lowp vec4 vColor;
-
- void main(void) {
- gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition;
- vColor = aVertexColor;
- }
- `;
-
- // Fragment shader program
-
- const fsSource = `
- varying lowp vec4 vColor;
-
- void main(void) {
- gl_FragColor = vColor;
- }
- `;
-
- // Initialize a shader program; this is where all the lighting
- // for the vertices and so forth is established.
- const shaderProgram = initShaderProgram(gl, vsSource, fsSource);
-
- // Collect all the info needed to use the shader program.
- // Look up which attributes our shader program is using
- // for aVertexPosition, aVevrtexColor and also
- // look up uniform locations.
- const programInfo = {
- program: shaderProgram,
- attribLocations: {
- vertexPosition: gl.getAttribLocation(shaderProgram, "aVertexPosition"),
- vertexColor: gl.getAttribLocation(shaderProgram, "aVertexColor"),
- },
- uniformLocations: {
- projectionMatrix: gl.getUniformLocation(
- shaderProgram,
- "uProjectionMatrix"
- ),
- modelViewMatrix: gl.getUniformLocation(shaderProgram, "uModelViewMatrix"),
- },
- };
-
- // Here's where we call the routine that builds all the
- // objects we'll be drawing.
- const buffers = initBuffers(gl);
-
- var then = 0;
-
- // Draw the scene repeatedly
- function render(now) {
- now *= 0.001; // convert to seconds
- const deltaTime = now - then;
- then = now;
-
- drawScene(gl, programInfo, buffers, deltaTime);
-
- requestAnimationFrame(render);
- }
-
- requestAnimationFrame(render);
-}
-
-//
-// initBuffers
-//
-// Initialize the buffers we'll need. For this demo, we just
-// have one object -- a simple three-dimensional tetrahedron.
-//
-function initBuffers(gl) {
- // Create a buffer for the tetrahedron's vertex positions.
-
- const positionBuffer = gl.createBuffer();
-
- // Select the positionBuffer as the one to apply buffer
- // operations to from here out.
-
- gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
-
- // Now create an array of positions for the tetrahedron.
- // A equilateral triangle is needed ( well 4 of them )
- // Point `O` is where the height is projected
- // The tetrahedron is rotated around point `M`
- // Height from vertex `A` to the edge `BC` is `H`
- // The edge of the tetrahedron is 2 units long
- // |AH| = 1.7320508075688772935274463415059
- // The median and a height AH divides itself by
- // the other medians into 1x and 2x ( one part and two parts )
- // |AH|/3 = 0.57735026918962576450914878050197
- // Find the tetrahedron height by argument sine (