OpenGL 3.2:缓存编译的着色器?

3

有没有办法在使用OpenGL 3.2的情况下缓存已编译的着色器程序?

我已经研究了ARB_get_program_binary,但发现我的驱动程序不支持它。

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

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

1个回答

4
除了ARB_get_program_binary之外,OpenGL没有查询/缓存编译程序对象的功能。
请注意,有些驱动程序会自行缓存程序二进制文件,例如使用~/.nv/GLCache目录存储缓存对象的NVidia专有Linux驱动程序。我不确定其他驱动程序是否也具有这样的缓存,但我认为很可能存在。

我担心那可能是真的。 - Jay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接