有没有一个技巧在支持opengl 2.x的显卡上使用opengl 3.x版本程序?

时间:2011-11-10 18:50:49

标签: opengl graphics

我有一个支持opengl 2.2的板载显卡。我可以使用一些软件等运行一个opengl(假设是3.3版本)应用程序吗?

3 个答案:

答案 0 :(得分:4)

OpenGL主要版本在某种程度上指的是可用的硬件功能:

  • OpenGL-1:固定功能管道(DirectX 7类HW)
  • OpenGL-2:可编程顶点和片段着色器支持。(DirectX 9类HW)
  • OpenGL-3:可编程几何着色器支持(DirectX 10类HW)
  • OpenGL-4:可编程tesselation着色器支持和其他一些好东西(DirectX 11类HW)。

如果您的GPU仅支持OpenGL-2,则无法运行OpenGL-3程序,利用其上的所有哨声和铃声。您最好的选择是软件栅格化实现。


几年前,当shders成为新事物时,NVidia向他们的开发人员驱动程序提供了一些更高功能的仿真软件光栅化器,以启动着色器开发,以便在这些新的可编程GPU上运行实际的应用程序。 / em>的

答案 1 :(得分:0)

没有。好吧,不是真的。 NVIDIA有一些可能有效的软件仿真,但除此之外,没有。

您的硬件根本无法完成GL 3.0+的要求。

也:

  

我有一个支持opengl 2.2的板载显卡

没有OpenGL 2.2。也许你的意思是2.1。

答案 2 :(得分:0)

当然可以,你只需要禁用这些功能。这是否能很好地运行取决于应用程序。

最简单的方法是使用某种方式拦截所有OpenGL调用,并根据需要过滤它们。使用OGL3功能时,返回“正确”的答案(但不做任何事情)或为不需要的呼叫提供null。

如果操作正确,并且应用程序不依赖于OGL3功能,则无需使用硬件即可运行。

如果应用程序确实需要OGL3内容,那么结果最多也是不可靠的,并且可能无法使用。这实际上取决于应用程序的确切功能和需求。提供OGL3的空实现将允许您运行它,但结果已经播出。