webgl源代码中的vbo.draw究竟做了什么?

时间:2014-01-13 09:24:56

标签: javascript google-chrome webgl

我遇到了chrome中的webgl问题。在webgl一致性测试源代码中,我找到了一段如下代码:

...
var vbo = new VBO(gl, {size:3, data:Quad.vertices});
vbo.draw(v);
...

我在WebGL规范中找不到vbo.draw的功能。谁能帮我?我想知道这个命令是做什么的?

感谢。

1 个答案:

答案 0 :(得分:1)

VBO引用顶点缓冲区对象,它们用于存储基于每个顶点渲染的数据。 draw方法可能使用当前配置的渲染状态将顶点渲染到当前活动曲面。

请点击此处了解有关VBO课程的更多详情:https://github.com/KhronosGroup/WebGL/blob/6197632e54bcd28dff3c3bf8e43d473687af19e6/conformance-suites/1.0.1/conformance/more/util.js

特别是它的定义:

VBO = function(gl) {
  this.gl = gl;
  this.data = [];
  this.elementsVBO = null;
  for (var i=1; i<arguments.length; i++) {
    if (arguments[i].elements)
      this.elements = arguments[i];
    else
      this.data.push(arguments[i]);
  }
}