说Mesa是OpenGL的实现到底意味着什么?我的Nvidia卡的驱动程序不能实现所有OpenGL功能等吗?因此,鉴于我的Nvidia卡的驱动程序正在接受Opengl调用并将其交给硬件,Mesa究竟做了什么?有人可以澄清梅萨和司机之间的区别吗?
答案 0 :(得分:21)
有人可以澄清梅萨与司机之间的区别吗?
Mesa为基于DRI2 / DRM架构的开源GPU驱动程序提供客户端OpenGL接口。换句话说:它也是司机的一部分。
如果您安装了NVidia或AMD的专有驱动程序,则不需要Mesa。如果你想使用开源驱动程序(nouveau,radeon,radeonhd,intel),你需要 Mesa。
答案 1 :(得分:4)
我相信LinuxQuestions.org论坛成员geeman2.0为此提供了一个很好的解释:
OpenGL和Mesa实际上并不是两个独立的选择,而是Mesa是一种特定类型的OpenGL。
OpenGL只是一个界面,它定义了绘制3d图形所需的一组标准功能。它并不涉及使这些函数发生的实际代码,它只指定调用函数的内容以及它们应该执行的操作。
openGL实现提供了运行OpenGL标准指定方法的实际代码。如果没有安装实现,则无法运行任何opengl程序。
Mesa只是众多OpenGL实现中的一种,也是linux发行版中最标准的一种。它完成了软件的所有工作,这就是为什么它很慢。
当你为一个花哨的显卡安装Nvidia或ATI驱动程序时,这些驱动程序提供了一个在显卡上运行的新OpenGL实现。这个实现将取代Mesa实现,但它仍然是一个openGL实现。也就是说,所有Mesa / ATI / NVidia驱动程序都实现了相同的功能集,它们只是以不同的方式执行,它们都是openGL。
答案 2 :(得分:0)
说Mesa是的实现是什么意思 OpenGL?
首先,OpenGL是Khronos与视频卡制造商(Nvidia,ATI,Intel等)之间创建的 API规范,就像在硬件功能上达成协议。 / p>
Mesa是用于3D计算机图形的软件库,它提供了与Khronos兼容的通用OpenGL实现,可在多个平台上渲染三维图形。例如,如果您正在运行Linux,则将可能必须安装Mesa才能生成任何类型的图形。对于Microsoft Windows there is already an implementation installed。
我的Nvidia卡的驱动程序未实现所有OpenGL 功能等?
是的,您的Nvidia卡驱动程序实现了OpenGL功能。
因此,鉴于我的Nvidia卡的驱动程序正在接听Opengl电话 并将它们交给硬件,Mesa到底能做什么?
您的程序与Mesa通信,Mesa与您的视频卡驱动程序通信,该驱动程序与实际的GPU通信,GPU将信号发送到监视器,以供您最终查看图形。