如何使用直接状态访问将元素缓冲区数组“绑定”到顶点数组对象?

Posted

技术标签:

【中文标题】如何使用直接状态访问将元素缓冲区数组“绑定”到顶点数组对象?【英文标题】:How to 'bind' a element buffer array to vertex array object using direct state access? 【发布时间】:2010-09-23 08:53:58 【问题描述】:

对于其他缓冲区,有如下功能:

glVertexArrayVertexAttribOffsetEXT(
    this->handle,               // vao handle
    vbo.getHandle(),            // vbo handle
    index,                      // specifies the index of the generic vertex attribute to be modified.
    size,                       // number of components per generic vertex attribute
    vbo.getType(),              // specifies the data type of each component in the array
    normalized,                 // specifies whether fixed-point data values should be normalized
    stride,                     // specifies the byte offset between consecutive generic vertex attributes
    offset                      // specifies a pointer to the first component of the first generic vertex attribute in the array
    );

但我找不到将元素缓冲区绑定到 vao 的方法。还是我错过了什么?

PS:添加vertex-array-object和direct-state-access标签有意义吗?

【问题讨论】:

【参考方案1】:

你找不到它,因为它不是它的一部分。

DSA 扩展是在 VAO 成为 GL3.0 的一部分之前设计的,后来进行了修改以与之交互。我不会感到惊讶这是规范中的一个漏洞。请随时联系规范所有者(在extension 顶部列出)

【讨论】:

我实际上给他写了一封电子邮件,但没有得到回复。不过没问题……我会继续用“旧方法”做的。

以上是关于如何使用直接状态访问将元素缓冲区数组“绑定”到顶点数组对象?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JQ 转换此 JSON 数据以依次将每个嵌套数组元素提取到顶层?

OpenGL - 需要一个简单的概念澄清

顶点缓冲区绑定索引和统一缓冲区绑定点?

C#开发的OpenRA的纹理图片显示到顶点缓冲区

C#开发的OpenRA的纹理图片显示到顶点缓冲区

Directx 11 - 是来自顶点缓冲区的所有顶点都推送到顶点着色器还是只是索引的顶点?