glBindBuffer和glBindBufferARB是否等效? 枚举值(如GL_ARRAY_BUFFER和GL_ARRAY_BUFFER_ARB)是否等效?我能否在glBindBufferARB中使用非_ARB枚举值? 我可以混合使用glBindBuffer()和glBindBufferARB()吗? 此外:如果一个显卡支持_ARB扩展,它是否总是支持核心GL函数 - 即使其OpenGL版本不是最新的?
一般来说,这种做法是不合法的,因为核心功能和扩展功能是不能互换的,即使它们有相同的名称(一个显著的例子是原始重启)。然而,在这种特殊情况下,它们恰好完全相同,具有完全相同的常量,所以虽然这是不合法的,但可以交替使用它们(即如果您不告诉他们,没有人会注意到)。您不能一般性地假设如果存在ARB扩展,则核心函数也将存在。存在许多ARB扩展,仅仅是为了允许OpenGL实现提供硬件可以提供的至少一些功能,即使某些原因无法实现完整版本。