【问题标题】:Mesa headers with NVIDIA drivers (linux)带有 NVIDIA 驱动程序 (linux) 的 Mesa 标头
【发布时间】:2015-02-13 17:15:46
【问题描述】:

我正在努力理解这一切

我安装了 nvidia 驱动程序 (343.36)。但是,当我通过smxi 安装它时,它没有安装opengl 头文件(gl.h 和公司)。我听说 mesa-common-dev 包含这些文件,但 mesa 是 DRI 驱动程序的一部分。将 mesa 标头与 nvidia 驱动程序一起使用是安全的,还是它们是两种不同的东西?

GLEW 如何融入这一切?我知道它会在运行时加载 opengl 函数。但是我必须使用特殊的 nvidia 版本的 glew 吗?

编译好的软件呢?它将使用 NVIDIA 卡和标头进行编译,如果我在带有 ATI 卡的计算机上启动该程序,该软件可以工作吗?它会被硬件加速吗?

【问题讨论】:

    标签: linux opengl


    【解决方案1】:

    将 mesa 头文件与 nvidia 驱动程序一起使用是安全的,还是它们是两种不同的东西?

    应该是的。标头只是指定存在哪些函数以及它们接受/返回的类型,这不会因实现而异(否则您必须为每个单独的 OpenGL 实现制作程序版本,这是不可行的)。但是,请确保 gl.h 文件不只是隐藏在 /usr/include 的某个子文件夹中。

    GLEW 如何融入这一切?

    GLEW 构建在 OpenGL 之上,如前所述,无论您使用什么实现,它都具有相同的 API。 GLEW 没有“nvidia 版本”(但是,获取扩展的功能取决于您使用的操作系统。不过,GLEW 会为您解决这个问题)。

    编译后的软件呢?

    头文件只在编译时使用;一旦你有了二进制文件,就不再需要它们来运行程序(事实上,你必须安装 -dev 版本的库的原因是为了获取头文件。)

    【讨论】:

    • “请确保 gl.h 文件不只是隐藏在 /usr/include 的某个子文件夹中。”,是的,我仔细检查了 locatefind . | grep gl。感谢您的澄清
    猜你喜欢
    • 1970-01-01
    • 2015-07-19
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 2013-03-14
    相关资源
    最近更新 更多