gpt4 book ai didi

opengl - glBindBuffer 中的 GL_ARRAY_BUFFER 目标意味着什么?

转载 作者:行者123 更新时间:2023-12-03 01:28:23 28 4
gpt4 key购买 nike

我对 VBO 感到困惑,

glGenBuffers(1, &positionBufferObject);
glBindBuffer(GL_ARRAY_BUFFER, positionBufferObject);

除了GL_ARRAY_BUFFER之外,还有其他目标类型:GL_ATOMIC_COUNTER_BUFFER、GL_COPY_READ_BUFFER...

但是,Opengl 手册没有提及这些目标的含义。我检查了 glew.h:

#define GL_ARRAY_BUFFER 0x8892

这是否意味着目标(如 GL_ARRAY_BUFFER)是地址?

glBindBuffer中的目标--GL_ARRAY_BUFFER是什么意思?

最佳答案

一般情况

大多数OpenGL objects必须绑定(bind)到 OpenGL 上下文中称为“目标”的位置才能使用它们。目标只不过是上下文中绑定(bind)对象的位置。

不同的对象类型(缓冲区、纹理等)具有不同的目标集。一般来说,每个目标都有特定的含义:将一个对象绑定(bind)到一个目标意味着您希望以该目标使用与其绑定(bind)的对象的任何方式使用该对象。

将对象绑定(bind)到一个目标不会影响该对象是否绑定(bind)到另一个目标(除非它是纹理对象;它们对待目标的方式不同)。

有一些函数可以修改对象或从绑定(bind)对象查询数据。他们采用一个目标,他们正在修改/查询的对象已绑定(bind)到该目标。

GL_ARRAY_BUFFER

buffer objectsGL_ARRAY_BUFFER 目标代表 use that buffer object for vertex attribute data 的意图。然而,单独绑定(bind)到这个目标并不能起到任何作用。只需调用 glVertexAttribPointer (or equivalent functions)使用绑定(bind)到该目标的任何缓冲区来获取该属性的属性数据。

关于opengl - glBindBuffer 中的 GL_ARRAY_BUFFER 目标意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14802854/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com