opengl - glReleaseShaderCompiler() 用例

标签 opengl glsl shader

我找不到任何 glReleaseShaderCompiler 使用的现实生活示例。

我什么时候会使用glReleaseShaderCompiler?来自 khronos描述中指出“这是来自应用程序的提示,不太可能发生额外的着色器编译”。

它没有说明我是否必须这样做,或者如果我不使用它会受到什么惩罚。除了可能分配 RAM 之外,还有什么好处?

最佳答案

这是一个提示是有原因的。着色器编译器使用的资源完全是特定于实现的,但它可能包括回收用于解析等的内存。

关于何时使用它,如果您的程序仅在初始化时加载着色器并且从不重新加载它们,那么这是一个非常好的用例。同样,建议您在链接 GLSL 程序后删除着色器对象以节省内存,因为您不会不断地重新链接它。

关于opengl - glReleaseShaderCompiler() 用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24157354/

相关文章:

c++ - 在上下文初始化之前查询支持的最高 OpenGL 版本?

opengl - 索引参数在带有 GL_POINTS 的 glDrawElements 中的作用

opengl-es - 从 FBO 设置和获取数据

opengl - GLSL 1.5 简单几何着色器

c++ - GL_POINTS 只绘制一个点而不是多个点

c++ - OpenGL 以编程方式创建纹理

glsl - 我需要帮助将此 2D 天空着色器转换为 3D

opengl - OpenGL 中的相机镜头失真

java - Libgdx,使用 Shader 的 Alpha 文本不起作用

c++ - 在 SSBO 中发送 uvec4 数组