diff --git a/webgl-examples/tutorial/tetrahedron/index.html b/webgl-examples/tutorial/tetrahedron/index.html deleted file mode 100644 index 6074a84f..00000000 --- a/webgl-examples/tutorial/tetrahedron/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - 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 (