【问题标题】:glxCreateContextAttribsARB and dynamic loading of OpenGL funcs on linuxglxCreateContextAttribsARB 和 OpenGL 函数在 Linux 上的动态加载
【发布时间】:2014-08-12 02:03:46
【问题描述】:

我需要在 linux 系统上动态加载 openGL 函数。问题是,当我尝试创建 gl 上下文时 glXCreateContextAttribsARB 失败并且程序回退到使用 OGL 1.4。它应该在 OGL 4.4 上。如果我只是使用共享库并进行常规链接,则代码可以完美运行。因此,使用我没有看到的动态加载的库存在一些问题。这些函数正在使用 dlopen/dlsym 加载,并且没有报告错误。我尝试使用 glxGetProcAddressARB 加载 glXCreateContextAttribsARB ,但没有任何区别。我难住了。有什么建议吗?

Ubuntu 12.04LTS/GLX 1.4/OGL 4.4/Nvidia 331.62

【问题讨论】:

  • 您是否同时拥有 Mesa 库?如果是这样 - 你会在 NVidia 专有驱动程序和 Mesa 库之间发生冲突。

标签: c++ linux opengl glx


【解决方案1】:

我发现了问题。由于某种原因,代码试图使用不兼容的视觉效果(24 位 FB 而不是 32 位)。我使 glxChooseVisual 的属性列表更符合我的要求。为什么这在某种程度上适用于共享库而不是动态库是一个谜。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 2022-07-20
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多