gpt4 book ai didi

opengl - 删除 GLSL 着色器的正确方法?

转载 作者:行者123 更新时间:2023-12-03 06:07:42 37 4
gpt4 key购买 nike

我的代码采用 GLSL 着色器管理的方式,它创建每个着色器和关联的程序,并删除每个着色器和程序。我最近读过http://www.opengl.org/wiki/GLSL_Object其中指出:

The shader object, due to being attached to the program object, will continue to exist even if you delete the shader object. It will only be deleted by the system when it is no longer attached to any program object (and when the user has asked to delete it, of course).

我是否理解正确,如果我在链接到程序后对着色器对象调用 glDeleteShader() ,我只需要跟踪程序?可以安全地假设这总是正确的吗?

最佳答案

是的——事实上,我们非常希望尽快分离和删除您的着色器对象。这样,驱动程序可以释放用于保存着色器源和未链接的目标代码副本的所有内存,这可能是相当大的。我所做的测量表明,不删除着色器对象会使每个着色器的增量内存使用量增加 5-10 倍

关于opengl - 删除 GLSL 着色器的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9113154/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com