E.1 OpenGL 3.0的概况及不推荐的特性 ..。 客户端顶点数组-所有顶点数组属性指针都必须引用缓冲区对象(第2.9.2节)。默认的顶点数组对象(名称为零)也不建议使用。在没有缓冲区对象或顶点数组对象绑定时调用VertexAttribPointer将产生
INVALID_OPERATION错误,在没有绑定顶点数组对象时调用任何数组绘图命令也会产生INVALID_OPERATION错误。
如果没有绑定顶点数组对象,则由glEnableVertexAttribArray和glDisableVertexAttribArray生成
GL_INVALID_OPERATION。
我听到的信息是,在OpenGL 2.x和OpenGL 3.x/3.2+之间完全可移植的全面顶点数组代码是不可能的,因为2.x不能使用VAOs ( API表面可以严格执行-谢谢!),3.x必须使用which...some驱动程序?
在我看来,健壮的代码必须在特定的2.x和3.x代码页之间进行分支(在运行时检测到)。这是真的吗?
发布于 2020-07-01 20:43:41
使用兼容性配置文件OpenGL上下文时,可以运行所有以前的OpenGL版本的代码。顶点数组对象0是有效的,您可以使用固定的函数属性、即时模式(glBegin/glEnd序列),甚至可以将它们混合在一起。
比较OpenGL 4.6API核心配置文件规范和OpenGL 4.6API兼容性配置文件规范。
所有OpenGL版本的规范都可以在Khronos OpenGL注册表上找到。
https://stackoverflow.com/questions/62684993
复制相似问题