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

3

glBindBuffer和glBindBufferARB是否等效?

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

我可以混合使用glBindBuffer()和glBindBufferARB()吗?

此外:如果一个显卡支持_ARB扩展,它是否总是支持核心GL函数 - 即使其OpenGL版本不是最新的?

1个回答

3
一般来说,这种做法是不合法的,因为核心功能和扩展功能是不能互换的,即使它们有相同的名称(一个显著的例子是原始重启)。
然而,在这种特殊情况下,它们恰好完全相同,具有完全相同的常量,所以虽然这是不合法的,但可以交替使用它们(即如果您不告诉他们,没有人会注意到)。
您不能一般性地假设如果存在ARB扩展,则核心函数也将存在。存在许多ARB扩展,仅仅是为了允许OpenGL实现提供硬件可以提供的至少一些功能,即使某些原因无法实现完整版本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接