opengl如何区分软件和硬件实现?

时间:2011-10-19 07:22:13

标签: opengl

如果我有一个软件实现,如果还有一个支持opengl的图形卡,那么opengl会使用哪一个?

1 个答案:

答案 0 :(得分:2)

这既是一个简单而又复杂的问题。简单的答案是OpenGL既不知道也不关心。 OpenGL不是的东西;这是一份文件。规范。 OpenGL的实现就是事情。

这带来了复杂的部分。你如何与OpenGL实现交流取决于你所使用的平台。 MesaGL只能编译为链接到的库。

如果您想要硬件加速,那么您现在必须处理操作系统,因为操作系统拥有GPU。 Mesa作为驱动程序是通过glX系统实现的。它挂钩到X-windows和X-windows的OpenGL上下文创建功能可以为您提供由软件Mesa驱动程序实现的上下文。或者通过硬件Mesa驱动程序。如果你正在使用其他驱动程序,那么它们也会进入X-windows。这些都被绑在X-windows“显示器”中。

在Windows上,它更简单。只有一个ICD驱动程序。如果已安装,并且您使用它支持的像素格式(也就是:合理的东西),那么您可以通过它获得硬件加速的OpenGL。如果不是,那么你可以获得微软的软件实现。