关于Opengl3.1的疑惑

cngst 2011-03-14 10:43:25
按照Opengl3.1规范,以前旧版的很多函数,例如glbegin\glend等,以及显示列表等都已经删除。

但为什么一些使用这些旧函数的软件在opengl3.x(opengl3.2、opengl3.3都测试过)还能正常运行?

是不是只要opengl实现库中包含“GL_ARB_compatibility”扩展,原来的旧程序就不需要经过任何改动而可以正常运行?
...全文
241 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cngst 2011-03-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuhuwy 的回复:]

ARB提供了向下兼容的版本,可以访问opengl3.1规范中删除的函数。使用ARB扩展就可以了
[/Quote]

以前直接使用导入表调用旧版函数编译的EXE不能用了,再改为用wglgetprocaddress调用工作量也不小,哎!还是directx好。
wuhuwy 2011-03-15
  • 打赏
  • 举报
回复
ARB提供了向下兼容的版本,可以访问opengl3.1规范中删除的函数。使用ARB扩展就可以了
  • 打赏
  • 举报
回复
没用过ogl,我是使用dx,dx的每一个版本都会实现所有接口,你为dx6.0或dx7.0编写的程序可以在dx的后续版本中运行,这样保持了兼容性,但旧接口的应用程序不会在新dx上有功能或性能的提高,因为新版的sdk基本不会对旧版的sdk继续优化的。估计ogl也是一样。
cngst 2011-03-14
  • 打赏
  • 举报
回复
现在已经知道了,ATI显卡完全执行了opengl3.0的废除机制,从opengl3.1开始删除了旧版函数,只支持新版。在使用ATI新显卡的电脑上,使用旧opengl函数的程序都是无法执行的。

NVIDIA显卡则同时支持旧版和新版opengl,所以在使用NVIDIA显卡的电脑上旧版opengl程序可以正常执行。

Intel集成显卡的情况,不太清楚。

opengl的废除机制太令人失望了,看来越开放的东西越靠不住,随时都有可能发生任何变化,虽然新版opengl效率更高了,但谁知以后会不会再发生变化。还是封闭的微软更可靠,以后改用directx了。
alanhao 2011-03-14
  • 打赏
  • 举报
回复
Opengl3.1规范有下兼容的

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧