当我们描述WebGL(以及它的“母技术” OpenGL我们总是说那项技术是用来绘制3D图表的,或者用来为3D图表增添一些视觉效果,比如灯光、纹理、阴影等。这些可能是这门技术应用地最广的地方。

事实上,WebGL可以做更多的事情。它是一个 Web API,允许你直接和图形硬件, 也就是GPU,直接进行通信。它有属于自己的微型编程语言,被称作GLSL,也就意味着你现在就可以领略一下GPU的强大力量,并且随心所欲地使用。2D和3D图表、图像处理、程序化纹理、 terrain generation、视觉效果(如反射、折射、烟、火、流体),甚至那些与图表无关的普通计算(这些计算往往可以利用GPU的优势)都是可能的。限制你的只有硬件和你的想象力。

拥有权利的同时也被赋予了重大的责任。下面这些指导的目的是给你基础的知识:WebGL是如何工作的以及怎样正确使用它,这样你能学到很多关于它的东西。能力越大,责任越大。这些教材的主要目的正是希望帮助你理解WebGL工作的基本原理、如何正确地使用WebGL,从而你可以充分利用这个工具。

基础

如果你不熟悉 OpenGL和 WebGL,请从这里开始:

要求你掌握的背景知识:
Getting started with the web – 在整个教程中,我们将使用非常简单 HTMLCSS,因此在学习WebGL之前应当对这些技术有一定的理解。
JavaScript – 相反,WebGL是个JavaScript API,所以我们将会看到和写许多的Javascript。所以你应该有对Javascript大致清楚的了解,特别是函数、数组、事件。对闭包、对象、构造函数以及原型链的理解也能帮助你学习这些内容。
WebGL 例子
这是一个样例合集,我们按照主题和难度进行了分类。这个的主要目的是用实例来生动地展示WebGL的概念和用途,但是它不是一个完整的教材。
API参考教程
这是WebGL API reference pages上面的教材。它是为一些熟悉OpenGL的人设计的,并且这些人希望顺便学习一点 JavaScript API

深入学习

一旦你掌握了上面所说的基础,你可以开始探索下面这些更加高深的知识:

WebGL API 参考手册
这些页面包含了WebGL中每一个接口、方法、属性、常量的详细描述。另外,你会在这发现有关高级内容、更多实例、使用WebGL的 提示的文章。
Web图形指南
为Web工程师提供Web图形指南,在这里你可以学到关于其他的图形API,例如SVG、用HTML的canvas或video标签构建的2D图图形。
基于WebGL的游戏开发
这是MDN上游戏开发的页面,在这里你可以学到将WebGL与其他API和技术的集成,因而你可以创建一个身临其境的体验,也可以将它发布给别人体验。

文档标签和贡献者