【问题标题】:OpenGL 3.2: Cache compiled shaders?OpenGL 3.2:缓存编译的着色器?
【发布时间】:2023-03-12 10:55:01
【问题描述】:

有没有办法缓存使用 OpenGL 3.2 编译的着色器程序?

我查看了 ARB_get_program_binary,但发现我的驱动程序不支持它。

我希望尽可能与旧卡兼容,因此切换到 OpenGL 4 不是一个好的解决方案。

我正在使用 Qt5.1 并使用 QOpenGLFunctions_3_2_Core 来访问 OpenGL 函数。

【问题讨论】:

    标签: c++ opengl opengl-3 qt5.1


    【解决方案1】:

    除了ARB_get_program_binary,没有查询/缓存已编译程序对象的OpenGL功能。

    请注意,某些驱动程序会自行缓存程序二进制文件,例如 NVidia 的专有 Linux 驱动程序,它使用 ~/.nv/GLCache 目录来存储缓存对象。我不确定其他驱动程序是否也有这样的缓存,但我觉得很有可能。

    【讨论】:

    • 我担心这可能是真的。
    猜你喜欢
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 2012-07-21
    • 2017-01-26
    • 1970-01-01
    相关资源
    最近更新 更多