在较旧的硬件上通过台面运行OpenGL程序

我需要在几台计算机上安装OpenGL3.X,这些计算机的graphics卡可能不支持2.0版以上的教学目的。

显然在Windows上,这是行不通的,因为没有更新的驱动程序。 但是我听说过Mesa,以及它如何为大多数Opengl函数提供软件实现。

所以我有两个问题:

  1. 如果我用mesa 9.0安装了Linux发行版,我能编译和运行新的opengl程序(需要opengl 3.2)吗? (硬件加速不是必需的
  2. 它在虚拟机上工作吗?

1.如果我安装了mesa 9.0的Linux发行版,我能编译和运行新的opengl程序(需要opengl 3.2)吗?

如果计算机中的GPU实际上受到了Mesa的开源驱动程序的支持,那么Mesa将会退回到这些GPU可以执行的任何操作

2.它在虚拟机上工作吗?

如果你真的想要软件光栅化模式,那么是的,在虚拟机上这样做是可行的。 我所有的Linux和开源,但有预建的Mesa DLL的二进制文件,名为opengl32.dll 。 如果你把它放在与你要运行的可执行文件相同的目录中,它将使用Mesa的软件光栅化程序。 请不要替换系统的opengl32.dll

但是,如果没有正确的硬件支持,使用OpenGL-3并不好玩。 而且你现在可以买便宜的OpenGL-3 GPU。 它们速度不是很快,但大约30美元至少可以获得所有的硬件功能,并且总是比任何软件光栅化器都快(除非在至强皮肤上运行该软件,但这样做并不经济 – 对于价格至强皮你可以得到3个GeForce GTX 690)。