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

标签 c++ c opengl buffer

glBindBuffer 等同于 glBindBufferARB 吗?

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

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

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

最佳答案

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

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

您一般不能假设如果存在 ARB 扩展,核心功能也会存在。存在许多 ARB 扩展,它们仅用于允许由于某种原因无法实现完整版本的 OpenGL 实现至少提供硬件可以提供的一些功能。

关于c++ - OpenGL:我可以将 glBindBuffer 与 glBindBufferARB 混合使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4915223/

相关文章:

c - 使用 C 崩溃后监控并自动重启另一个程序

c - uint8 的冗余转换不适用于 GCC 4.8.1

math - 实现光线拾取

opengl - 绘制 NURBS 曲线时节点的含义?

c++ - OpenCv 用透明度覆盖两个 Mat(绘图而不是图像)

c++ - 程序在代码块中调试时收到信号 SIGSEGV,段错误

c - 使用指针进行字符串复制会出现问题

c++ - 最小的 C++ OpenGL 段错误

c++ - 指向类成员函数的指针

c++ - 在 Objective-C 类中使用 C++ 类作为协议(protocol)