根据我在这里读到的内容: http : //www.linuxquestions.org/questions/linux-software-2/opengl-vs-mesa-whats-the-diff-351037/
Mesa是软件渲染,而驱动程序OpenGL是硬件渲染。
我遇到的每个教程都只展示了如何安装Mesa。 如何设置真正的(硬件加速)openGL? 安装驱动程序是否安装了标题? 如果是这样,哪个标题? 如果我有一个用mesa编译的程序,我是否必须重新编译才能利用硬件加速? 如果安装驱动程序安装所需的库和标题,台面会发生什么?
从指向网站上的最后一篇文章:“这是否意味着如果我安装了NVidia驱动程序,我应该删除mesa包?”
此外,现在openGL现在是版本4和5,但我找不到任何教程,显示如何为这些版本创建上下文,只有版本3最大…
就像你可以看到的,我不太确定这是如何工作的。
最后一件事,这本书: http : //glprogramming.com/red/是针对哪个版本的openGL? 指南版本是1.1,但它没有说它是针对哪个版本编写的。
Mesa是软件渲染,而驱动程序OpenGL是硬件渲染。
不.Messa是OpenGL API的开源实现,也提供了软件光栅化器后备。 但Mesa也是intel , radeon , radeonhd和noveau的开源GPU驱动程序的基础。
我遇到的每个教程都只展示了如何安装Mesa。 如何设置真正的(硬件加速)openGL?
OpenGL只是一个API。 这意味着您用于开发的OpenGL的哪个实现无关紧要。 您可以使用Mesa进行开发,但您的程序也适用于专有驱动程序。
安装驱动程序是否安装了标题?
有时。 但是大多数Linux发行版都会阻止这种情况,并假设Mesa标头作为规范开发资源。
如果我有一个用mesa编译的程序,我是否必须重新编译才能利用硬件加速?
不。如果您做的一切正确,即将您的可执行文件与libGL动态链接,那么您的程序将适用于任何OpenGL实现。
如果安装驱动程序安装所需的库和标题,台面会发生什么?
取决于分配。 某些发行版的供应商驱动程序替换了libGL.so,而不是Mesa开发文件。 一些发行版取代了libGL.so和标题。 一些发行版将OpenGL实现放在/ usr / lib / opengl中,并提供了一个用于设置符号链接(Gentoo)的工具。 在实践中,没关系。
从指向网站上的最后一篇文章:“这是否意味着如果我安装了NVidia驱动程序,我应该删除mesa包?”
如果需要,您的发行包管理器将发出警告。 但就像我说的那样:除了Mesa实现仅支持OpenGL-2.1之外,不应该打扰你。 但这并不意味着您无法使用它编译OpenGL-3及其向上程序。 他们将无法创建OpenGL-3上下文并中止错误消息或回退到OpenGL-2
以上就是c/c++开发分享如何在没有Mesa的情况下设置OpenGL开发环境相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/549949.html