如何设置没有Mesa的OpenGL开发环境

根据我在这里阅读:http://www.linuxquestions.org/questions/linux-software-2/opengl-vs-mesa-whats-the-diff-351037/

Mesa是软件渲染,而OpenGL驱动是硬件渲染。

我来到的每个教程都只显示如何安装Mesa。 我怎样才能建立一个真正的(硬件加速)openGL? 安装驱动程序是否安装标题? 如果是这样,哪个头? 如果我有一个与mesa compat的程序,我是否必须重新编译它以利用硬件加速? 如果安装驱动程序安装所需的库和头文件,mesa会发生什么情况?

从指出网站的最后一篇文章:“这是否意味着如果我安装了NVidia驱动程序,我应该删除mesa软件包?”

此外,现在openGL现在是版本4和5,但我找不到任何教程显示如何为这些版本创建上下文,只有版本3 max ...

就像你可以看到的,我不太清楚这是如何工作的。

最后一件事,这本书:http://glprogramming.com/red/是哪个版本的openGL? 指南版本是1.1,但它不会说它是为哪个版本编写的。


Mesa是软件渲染,而OpenGL驱动是硬件渲染。

不。Mesa是OpenGL API的开源实现,也提供了软件光栅化器后备。 但是,Mesa也是intel,radeon,radeonhd和noveau的开源GPU驱动程序的基础。

我来到的每个教程都只显示如何安装Mesa。 我怎样才能建立一个真正的(硬件加速)openGL?

OpenGL只是一个API。 这意味着你用于开发的OpenGL的哪个实现无关紧要。 您可以使用Mesa进行开发,但您的程序也可以在专有驱动程序中正常运行。

安装驱动程序是否安装标题?

有时。 但是大多数Linux发行版阻止了这一点,并将Mesa头文件作为规范开发资源。

如果我有一个与mesa compat的程序,我是否必须重新编译它以利用硬件加速?

不。如果你做的一切正确,即动态链接你的可执行文件与libGL.so,你的程序将与任何OpenGL实现一起工作。

如果安装驱动程序安装所需的库和头文件,mesa会发生什么情况?

取决于分配。 一些发行版有供应商驱动程序替换libGL.so,但不是Mesa开发文件。 一些发行版替换libGL.so和头文件。 有些发行版将OpenGL实现放在/ usr / lib / opengl中,并提供了一种设置符号链接(Gentoo)的工具。 在实践中,这并不重要。

从指出网站的最后一篇文章:“这是否意味着如果我安装了NVidia驱动程序,我应该删除mesa软件包?”

如果需要的话,您的发行包管理器将发出警告。 但就像我说的那样:除了Mesa实现仅支持OpenGL-2.1之外,它不应该打扰您。 但这并不意味着您无法编译OpenGL-3及其以上的程序。 他们将无法创建OpenGL-3上下文,并会因错误消息中止或退回到OpenGL-2

链接地址: http://www.djcxy.com/p/38499.html

上一篇: How to setup a OpenGL developement environment without Mesa

下一篇: How to load VBO and render it on separate Java threads?