When trying to describe WebGL and its parent technology OpenGL, we often describe technology for drawing 3D graphics and applying visual effects, such as lighting, texturing, shadows, and so on. This is probably its most common use.
WebGL is much more than that. It is a Web API that allows you to directly communicate with graphics hardware, the GPU. It comes with its own small programming language, called GLSL, which means you can now wield the computational power of the GPU, using it as you wish. 2D and 3D graphics, image processing, procedural texturing, terrain generation, visual effects such as reflections, refraction, smoke, fire, and fluids, or even non-graphic general computing that takes advantage of powerful GPU features, are all possible. You are limited only by the power of the hardware, and by your imagination.
With great power, comes great responsibility. It is the purpose of these tutorials, to give you the fundamental knowledge of how WebGL works, and how to use it correctly, enabling you to get the most from it.
- Required background:
- Getting started with the web – In these tutorials, we are going to use very simple HTML and CSS, enough to have a basic understanding of these technologies.
- WebGL by example
- This is a collection of live samples with short commentaries, sorted by topic, and level of difficulty. It aims at showcasing WebGL concepts, and capabilities, but it is not a substitute for the full tutorial.
- Tutorial at API reference
Once you've mastered the basics, there is plenty more to explore:
- WebGL API reference
- The WebGL reference pages contain a detailed description of every interface, method, property, and constant in the WebGL API. In addition, you will find articles on advanced topics, more examples, and tips on using WebGL.
- Guide to Graphics on the Web
- This is the Web developer guide to Graphics on the Web. You will learn about other graphics APIs, such as SVG, 2D graphics with HTML Canvas, and video.
- Game development
- These are the Game development pages on MDN. You will learn about integrating WebGL with other APIs and techniques, and building a completely immersive experience you can distribute to others.