opengl - 有多少用户可以运行使用 OpenGL 3.x 的软件?

标签 opengl requirements opengl-3

我可以期望用户能够运行使用 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》第 4 版来学习 2.1,要么通过 7 月 30 日发布的第 5 版来学习 3.3。 (我拥有物理学学士学位,所以我的数学背景非常好。)

<小时/>

编辑:我发现this related question与我的问题相关的答案。

最佳答案

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

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

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

关于opengl - 有多少用户可以运行使用 OpenGL 3.x 的软件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3296014/

相关文章:

c++ - 为 OpenGL 纹理加载带有 stb_image 的 PNG 会给出错误的颜色

python - Sha256与pip的不匹配安装在新的docker镜像上

python - 添加requirements.txt [Python]时数据流失败

c++ - 用于 OpenGL 顶点着色器的 NormalMatrix?

java - LWJGL 投影矩阵 - 什么也没发生

opengl - 如何在glsl中计算gl_FragCoord

opengl - 我应该如何处理(变形)opengl中的4D对象?

c++ - 无法读取传递给顶点着色器的值

installation - 以编程方式安装 NLTK 语料库/模型,即无需 GUI 下载器?

android - 在 OS X 中开始 OpenGL 3.0+ 编程(再次),针对多个平台