首页 关于
树枝想去撕裂天空 / 却只戳了几个微小的窟窿 / 它透出天外的光亮 / 人们把它叫做月亮和星星

WebGL和图形引擎

应用 WebGL 渲染图形的时候,需要提供两段渲染程序分别称为 vertex shaderfragment shader,很多资料里把他们称为管线。 基本上 vertex shader 用于计算点坐标,fragment shader 用于计算颜色。 基本上 WebGL 的 API 都是在设定各种状态,然后让 GPU 运行这两渲染程序完成渲染。

管线接收数据的四种方法:

  1. 属性(Attributes),缓冲区(Buffers)和顶点数组(Vertex Arrays): Buffers 就是搬运到 GPU 中的一些二进制数据,想放什么就放什么。Attributes 具体描述 Buffers 中的数据格式。 Buffer 中的数据不能随机访问,由 vertex shader 根据 Attributes 逐个的搬运出来。
  2. Uniforms: 管线程序中需要用到的一些全局变量,在运行之前配置。
  3. Textures: 在管线程序中可以随机访问的数据。最常用的功能就是贴图纹理。
  4. Varyings: vertex shader 向 fragment shader 传递数据的方式。

例程:




Copyright @ 高乙超. All Rights Reserved. 京ICP备16033081号-1