我可以期望用户能够运行使用OpenGL 3.x的软件吗?
拥有开源图形浏览器的Linux用户可以运行OpenGL 3.x吗?我知道Mesa3D 7.8只支持OpenGL 2.1。
我也知道OS X Snow Leopard支持一些但不是所有的OpenGL 3.0功能。我不知道Leopard的情况。
我不知道XP,Vista和Windows 7的情况。
我想开始学习OpenGL,我的兴趣更多地放在科学和工程应用而不是游戏上。我知道我将阅读使用OpenGL 1.x的代码,但我想使用我期望用户系统支持的最新规范来编写代码。我想知道我是否应该开始学习2.1或3.3。我想要获得第四版的OpenGL Superbible学习2.1或第5版即将于7月30日出版以学习3.3。 (我有物理学学士学位,所以我的数学背景非常好。)
编辑:我发现this related question的答案与我的问题相关。
答案 0 :(得分:3)
正如Martin Beckett已经指出的那样,就支持OpenGL 3.x而言,情况确实相当糟糕。许多“现代”图形芯片组广泛用于笔记本电脑(是的,英特尔,我看着你)甚至不完全支持OpenGL 2.x;有些甚至缺乏像多重采样一样古老的功能。
使软件在尽可能多的系统上运行的唯一方法是使用GLEW之类的东西来决定在运行时使用哪些功能(即不需要条件编译)。
就学习OpenGL而言,2.1绝对是一个不错的选择,因为它使您能够使用固定功能管道和更依赖着色器的现代代码来理解旧代码。之后,掌握最重要的3.x特征(例如帧缓冲对象,顶点数组对象)将非常容易。
答案 1 :(得分:2)
英特尔GMA 950的Windows XP驱动程序仅支持OpenGL 1.4,没有GL_EXT_framebuffer_object
。奇怪的是,在相同的硬件(Mac mini)上,Linux和OSX都设法支持GL_EXT_framebuffer_object
。
答案 2 :(得分:0)
我不知道XP的情况, Vista和Windows 7。
糟糕 - 大多数卡声称支持openGl 2.0或2.1,但除非他们是Nvidia,否则不要指望超出1.1的任何功能
IIRC windows vista / 7支持软件中的opengl 1.1或带有directX包装的1.4。图形驱动程序可以随心所欲地支持它,但除了Nvidia之外,质量很差。
答案 3 :(得分:0)
只要您只使用科学和工程应用程序,我建议您使用Modern OpenGL。通常情况下,如果需要,工程师可以买一台带有漂亮显卡的现代计算机。对于Science,应用程序通常只需要在一台计算机上运行,因此与旧计算机的兼容性不应该是您最关心的问题,但与新硬件向前兼容绝不是错误的决定。
写游戏是非常不同的。最大化观众非常重要,这样您就可以销售最大数量的副本。需要太多资源会大大减少目标受众。