3

我可以期望用户能够运行使用 OpenGL 3.x 的软件吗?

拥有开源图形驱动程序的 Linux 用户可以运行 OpenGL 3.x 吗?我知道 Mesa3D 7.8 只支持 OpenGL 2.1。

我也知道 OS X Snow Leopard 支持一些但不是所有的 OpenGL 3.0 功能。我不知道豹的情况。

我不知道 XP、Vista 和 Windows 7 上的情况。

我想开始学习OpenGL,我的兴趣更多在于科学和工程应用而不是游戏。我知道我将阅读使用 OpenGL 1.x 的代码,但我想使用我期望用户系统支持的最新规范编写代码。我想知道我应该开始学习 2.1 还是 3.3。我正在考虑获得 OpenGL Superbible 的第 4 版来学习 2.1 或 7 月 30 日发布的第 5 版来学习 3.3。(我有物理学学士学位,所以我的数学背景还不错。)


编辑:我发现这个相关问题的答案与我的问题相关。

4

5 回答 5

3

正如 Martin Beckett 已经指出的那样,就对 OpenGL 3.x 的支持而言,情况确实相当糟糕。许多广泛用于笔记本电脑的“现代”图形芯片组(是的,英特尔,我在看你)甚至不完全支持 OpenGL 2.x;有些甚至缺少像多重采样一样古老的功能。

使您的软件在尽可能多的系统上运行的唯一方法是使用诸如GLEW 之类的东西来决定在运行时使用哪些功能(即不需要条件编译)。

就学习 OpenGL 而言,2.1 绝对是一个不错的选择,因为它使您既可以理解使用固定功能管道的旧代码,也可以理解依赖着色器的更现代的代码。之后,掌握最重要的 3.x 特性(例如帧缓冲区对象、顶点数组对象)将变得相当容易。

于 2010-07-21T05:34:59.223 回答
3

我可以很高兴地通知您,开源驱动程序现在正式完全支持 OpenGL 3.0,英特尔将在 Mesa 的下一个版本中支持 OpenGL 3.1,现在更名为 Mesa 9.0。从 Mesa 8.0 开始,他们添加了对 OpenGL3.0 的官方支持。

英特尔 OpenGL 对 Windows 的支持目前为 4.0,因此这对您来说应该不是问题。

关于 AMD 和 NVidia 支持,在 Windows 和 GNU/Linux 上,对这两个闭源驱动程序都有完整的 OpenGL4.3 支持。关于开源驱动程序,Radeon 将在 Mesa 9.0 以及 3.6.0 内核版本中正式支持 OpenGL3.0。

可能值得一提的是,驱动程序支持 OpenGL3.2/3.3/4.0/4.1/4.2/4.3 的子集,但在实现所有功能之前,不能更改“支持的版本”。更多详细信息请查看官方文档。

对于 OpenGL 来说,这是激动人心的时刻!

于 2012-08-17T11:12:59.057 回答
2

英特尔 GMA 950 的 Windows XP 驱动程序仅支持 OpenGL 1.4,无GL_EXT_framebuffer_object。奇怪的是,在相同的硬件(Mac mini)上,Linux 和 OSX 都设法支持GL_EXT_framebuffer_object.

于 2010-07-21T13:49:51.023 回答
0

我不知道 XP、Vista 和 Windows 7 上的情况。

不好 - 大多数卡都声称支持 openGl 2.0 或 2.1,但除非它们是 Nvidia,否则不要期望 1.1 以外的任何功能都可以工作

IIRC windows vista/7 支持软件中的 opengl 1.1 或带有 directX 包装器的 1.4。图形驱动程序可以免费支持它想要的任何东西,但除了 Nvidia 之外,质量很差。

于 2010-07-21T03:14:04.907 回答
0

只要你只做科学和工程应用,我建议你使用现代 OpenGL。通常,如果需要,工程师可以买得起带有漂亮图形卡的现代计算机。对于 Science 而言,应用程序通常只需要在一台计算机上运行,​​因此与旧计算机的兼容性不应该是您最关心的问题,但与新硬件向前兼容绝不是一个错误的决定。

编写游戏是非常不同的。最大化受众非常重要,这样您就可以销售最大数量的副本。需要太多资源会大大减少目标受众。

于 2012-03-17T15:54:26.800 回答