WebGL: Low-Level 3D Rendering
Use WebGL to create high-performance 3D graphics directly in the browser using JavaScript.
Interactive 3D Triangle Demo
<canvas id="webglCanvas"></canvas>
<script>
const canvas = document.getElementById('webglCanvas');
const gl = canvas.getContext('webgl');
gl.viewport(0, 0, gl.canvas.width, gl.canvas.height);
gl.clearColor(0.1, 0.1, 0.1, 1.0);
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
gl.enable(gl.DEPTH_TEST);
// Shader programs and rendering logic
const vsSource = `attribute vec4 aVertexPosition; void main() { gl_Position = aVertexPosition; }`;
const fsSource = `void main() { gl_FragColor = vec4(0.8, 0.2, 0.4, 1.0); }`;
const shaderProgram = createShaderProgram(vsSource, fsSource);
function createShaderProgram(vertexSource, fragmentSource) {
const vertexShader = createShader(gl, gl.VERTEX_SHADER, vertexSource);
const fragmentShader = createShader(gl, gl.FRAGMENT_SHADER, fragmentSource);
const program = gl.createProgram();
gl.attachShader(program, vertexShader);
gl.attachShader(program, fragmentShader);
gl.linkProgram(program);
return program;
}
function createShader(gl, type, source) {
const shader = gl.createShader(type);
gl.shaderSource(shader, source);
gl.compileShader(shader);
return shader;
}
gl.useProgram(shaderProgram);
gl.drawArrays(gl.TRIANGLES, 0, 3);
</script>