2013-10-29 124 views
3

有沒有什麼辦法可以緩存使用OpenGL 3.2編譯的着色器程序?OpenGL 3.2:緩存編譯的着色器?

我看過ARB_get_program_binary但發現我的驅動程序不支持它。

我想盡可能地兼容舊卡,所以切換到OpenGL 4並不是一個好的解決方案。

我正在使用Qt5.1並使用QOpenGLFunctions_3_2_Core訪問OpenGL函數。

回答

3

除了ARB_get_program_binary,沒有OpenGL功能來查詢/緩存已編譯的程序對象。

請注意,有些驅動程序自己緩存程序二進制文件,如NVidia專有的Linux驅動程序,它們使用~/.nv/GLCache目錄來存儲緩存的對象。我不確定其他驅動程序是否也有這樣的緩存,但我覺得它很可能。

+0

我擔心這可能是真的。 – Jay