1
如果我有一个软件实现,如果还有一个支持opengl的图形卡,那么opengl使用哪些图形卡?opengl如何区分软件和硬件实现?
如果我有一个软件实现,如果还有一个支持opengl的图形卡,那么opengl使用哪些图形卡?opengl如何区分软件和硬件实现?
这既是一个简单又复杂的问题。简单的答案是OpenGL既不知道也不在乎。 OpenGL不是的东西;它是一个文件。规范。 OpenGL的实现是事物。
这引起了复杂的部分。你如何与OpenGL实现对话取决于你所在的平台。 MesaGL可以被编译为仅仅链接到的库。
如果您想要硬件加速,那么您现在必须处理操作系统,因为操作系统拥有GPU。 Mesa作为驱动程序是通过glX系统实现的。它挂钩到X-windows和X-windows的OpenGL上下文创建函数可以给你一个由软件Mesa驱动程序实现的上下文。或通过硬件Mesa驱动程序。如果您使用其他驱动程序,那么它们也会挂钩到X-windows。这些都与X-windows“显示器”相关联。
在Windows上,它更简单。有一个ICD驱动程序。如果安装了它,并且您使用了它支持的像素格式(又名:合理的东西),那么您将通过它获得硬件加速OpenGL。如果不是,你会得到微软的软件实施。