【问题标题】:Can I get a opengl compatibility context with mesa in linux?我可以在 linux 中获得与 mesa 的 opengl 兼容性上下文吗?
【发布时间】:2015-03-07 01:23:33
【问题描述】:

我开始使用 OpenGL,并决定使用 OpenGL 2.1。我想这样做的原因是,因为它更容易,而且我希望我的程序与旧硬件兼容。但是我不知道我是否可以在 linux 中获得兼容性配置文件。

我能否让 OpenGL 2.1 程序在带有 mesa 的 linux 机器上运行(让我更具体一点,实现 OpenGL 3.x+ 的 mesa 版本)? 如果不是,使用 OpenGL 2.1 会使我的程序与新硬件(在 linux 中)的兼容性降低? 不知道在这里做什么。感谢任何帮助

我是一名 Linux 开发人员。

【问题讨论】:

    标签: c linux opengl


    【解决方案1】:

    OpenGL 2.1 没有兼容性配置文件的概念;仅出现在 OpenGL 3.x+ 中,其中使用兼容性配置文件会添加回已删除的功能。

    如果您请求 OpenGL 2.1 上下文并获得它,那么一切就绪。是的,Mesa 支持 OpenGL 2.1。

    理论上,使用旧版本的 GL 可能会使您的程序与仅支持 OpenGL 3.1+ 且只有核心配置文件的驱动程序不兼容。但实际上,几乎所有桌面 GPU 驱动程序仍然支持旧的 OpenGL。

    【讨论】:

    • 我的意思是:如果使用 opengl 2.1,我的程序是否可以在具有实现 opengl 3.3 的 mesa 版本的 linux pc 上运行?因为听说mesa的opengl 3.3的实现没有兼容性配置文件,所以不知道我的opengl 2.1的程序能不能用。
    • Mesa 可能不支持 3.3 的兼容性配置文件,但这并不意味着它不支持 OpenGL 1 和 2。您只是无法从 pre 访问 3.3 中添加的功能-3 上下文。另外,为什么不自己尝试呢?检查你是否使用像 GLFW 这样的库并不难。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 2010-12-08
    • 2020-04-14
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多