Есть ли способ кеширования скомпилированных шейдерных программ с использованием OpenGL 3.2?
Я смотрел на ARB_get_program_binary но нашел мой драйвер не поддерживает его.
Я хотел бы быть максимально совместимым со старыми картами, поэтому переход на OpenGL 4 не является хорошим решением.
Я работаю с Qt5.1 и использую QOpenGLFunctions_3_2_Core для доступа к функциям OpenGL.
Кроме того ARB_get_program_binary
, нет OpenGL-функциональности для запроса / кэширования скомпилированных программных объектов.
Обратите внимание, что некоторые драйверы сами выполняют кеширование программ, например, проприетарные драйверы Linux от NVidia, которые используют ~/.nv/GLCache
каталог для хранения кэшированных объектов. Я не уверен, есть ли у других драйверов такой кеш, но я нахожу это вполне вероятным.
Других решений пока нет …