Skip to content

基础概念

WebGL 仅仅是一个光栅化引擎,它可以根据你的代码绘制出点,线和三角形。 想要利用 WebGL 完成更复杂任务,取决于你能否提供合适的代码,组合使用点,线和三角形代替实现。

WebGL 在电脑的 GPU 中运行。因此你需要使用能够在 GPU 上运行的代码。 这样的代码需要提供成对的方法。每对方法中一个叫顶点着色器, 另一个叫片段着色器,并且使用一种和 C 或 C++类似的强类型的语言GLSL。 (GL 着色语言)。 每一对组合起来称作一个 program(着色程序)。

  • 顶点着色器:计算顶点的位置,根据计算出的一系列顶点位置,WebGL 可以对点, 线和三角形在内的一些图元进行光栅化处理。
  • 片段着色器:当对这些图元进行光栅化处理时需要使用片段着色器方法,计算出当前绘制图元中每个像素的颜色值。

几乎整个 WebGL API 都是关于如何设置这些成对方法的状态值以及运行它们。 对于想要绘制的每一个对象,都需要先设置一系列状态值,然后通过调用 gl.drawArraysgl.drawElements 运行一个着色方法对,使得你的着色器对能够在 GPU 上运行。