Introduction to WebGL

Welcome to our WebGL tutorial. In this introduction, we'll cover the basics of WebGL and how to get started.

What is WebGL?

WebGL (Web Graphics Library) is a JavaScript API for rendering high-performance, also known as interactive 3D/2D graphics within any compatible web browser.

Basic WebGL Concepts

To start with WebGL, you need to understand the basics of graphics rendering, including vertices, indices, and shaders.

Creating a Simple WebGL Scene

Let's create a simple WebGL scene by rendering a triangle.

const canvas = document.getElementById('canvas');
const gl = canvas.getContext('webgl');

// Define vertices for a triangle
const vertices = new Float32Array([
 -0.5, -0.5,0.0,
0.5, -0.5,0.0,
0.0,0.5,0.0
]);

// Create a WebGL buffer for the vertices
const vertexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW);

// Define a simple vertex shader
const vertexShader = gl.createShader(gl.VERTEX_SHADER);
gl.shaderSource(vertexShader, `
 attribute vec3 position;
 void main() {
 gl_Position = vec4(position,1.0);
 }
`);
gl.compileShader(vertexShader);

// Define a simple fragment shader
const fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);
gl.shaderSource(fragmentShader, `
 void main() {
 gl_FragColor = vec4(1.0,0.0,0.0,1.0);
 }
`);
gl.compileShader(fragmentShader);

// Create a WebGL program
const program = gl.createProgram();
gl.attachShader(program, vertexShader);
gl.attachShader(program, fragmentShader);
gl.linkProgram(program);
gl.useProgram(program);

// Draw the triangle
gl.drawArrays(gl.TRIANGLES,0,3);