OpenGL:我可以将glBindBuffer与glBindBufferARB混合使用吗?

时间:2011-02-06 18:26:09

标签: c++ c opengl buffer

glBindBuffer是否与glBindBufferARB等效?

枚举(如GL_ARRAY_BUFFER和GL_ARRAY_BUFFER_ARB)是否等效?我可以在glBindBufferARB中使用非_ARB枚举吗?

我可以使用glBindBufferARB()混合+匹配glBindBuffer()调用吗?

另外:如果一张卡支持_ARB扩展名,它是否总是支持核心GL功能 - 即使它的OpenGL版本不是最新的?

1 个答案:

答案 0 :(得分:3)

一般来说,做这种事情是不合法的,因为核心功能和扩展是不可交换的,即使它们具有相同的名称(一个值得注意的例子是原始重启)。

然而,在这种特殊情况下,它们碰巧与完全相同的常数完全相同,所以......虽然它不合法,但是可以互换地使用它们(即如果你没有人会注意到它们)告诉他们)。

您通常不能假设如果存在ARB扩展,核心功能也将存在。存在许多ARB扩展仅仅是为了允许OpenGL实现由于某种原因无法实现完整版本,但至少提供了硬件可以提供的某些功能。