OpenGL 3.2:缓存编译的着色器
OpenGL 3.2: Cache compiled shaders?
有没有办法使用 OpenGL 3.2 缓存编译的着色器程序?
我看过ARB_get_program_binary但发现我的驱动程序不支持它。
我希望尽可能与旧卡兼容,因此切换到OpenGL 4不是一个好的解决方案。
我正在使用Qt5.1并使用QOpenGLFunctions_3_2_Core来访问OpenGL函数。
除了ARB_get_program_binary
,没有OpenGL功能来查询/缓存编译的程序对象。
请注意,某些驱动程序会自行缓存程序二进制文件,例如NVidia的专有Linux驱动程序,它们使用~/.nv/GLCache
目录来存储缓存的对象。我不确定其他驱动程序是否也有这样的缓存,但我发现很有可能。