0

glDrawArrays 会修改 glVertexAttribPointer 地址吗?

当我试图缓存 glVertexAttribPointer 调用时,我偶然发现了这个问题,如果我没有在每个 glDrawArrays 之后重新应用 glVertexAttribPointer 调用,我会得到一个访问冲突异常。这是正常行为还是驱动程序错误?

4

2 回答 2

3

glDrawArrays 会修改 glVertexAttribPointer 地址吗?

不。

当我尝试缓存 glVertexAttribPointer 调用时,我偶然发现了这个问题

请解释(最好显示源代码)你是如何实现这个“缓存”的。

于 2013-05-08T21:54:52.890 回答
0

当您的顶点属性指针超出您正在读取的缓冲区的内存范围时,就会发生访问冲突。

你是如何缓存这些调用的?如果您不禁用顶点属性数组,则先前设置的信息仍将存在,并且仍会尝试从新的 VBO 中读取。

于 2013-05-08T22:00:44.770 回答