首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能编写在OpenGL 2.x和3.x之间可移植的顶点数组代码?

是否有可能编写在OpenGL 2.x和3.x之间可移植的顶点数组代码?
EN

Stack Overflow用户
提问于 2020-07-01 20:38:37
回答 1查看 105关注 0票数 1

OpenGL 3.0规范说:

E.1 OpenGL 3.0的概况及不推荐的特性 ..。 客户端顶点数组-所有顶点数组属性指针都必须引用缓冲区对象(第2.9.2节)。默认的顶点数组对象(名称为零)也不建议使用。在没有缓冲区对象或顶点数组对象绑定时调用VertexAttribPointer将产生INVALID_OPERATION错误,在没有绑定顶点数组对象时调用任何数组绘图命令也会产生INVALID_OPERATION错误。

glEnableVertexAttribArray说:

如果没有绑定顶点数组对象,则由glEnableVertexAttribArrayglDisableVertexAttribArray生成GL_INVALID_OPERATION

我听到的信息是,在OpenGL 2.x和OpenGL 3.x/3.2+之间完全可移植的全面顶点数组代码是不可能的,因为2.x不能使用VAOs ( API表面可以严格执行-谢谢!),3.x必须使用which...some驱动程序?

在我看来,健壮的代码必须在特定的2.x和3.x代码页之间进行分支(在运行时检测到)。这是真的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-01 20:43:41

使用兼容性配置文件OpenGL上下文时,可以运行所有以前的OpenGL版本的代码。顶点数组对象0是有效的,您可以使用固定的函数属性、即时模式(glBegin/glEnd序列),甚至可以将它们混合在一起。

比较OpenGL 4.6API核心配置文件规范OpenGL 4.6API兼容性配置文件规范

所有OpenGL版本的规范都可以在Khronos OpenGL注册表上找到。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62684993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档