OpenGL:将着色器附加到处于有效链接状态的程序是否合法?

Ugl*_*der 4 opengl

我已经找到了一个明确的答案,但没有用.OpenGL规范似乎对此保持沉默,但这可能是由于我缺乏阅读它们的经验.我不关心实现在这个问题上的行为方式.谢谢.

Ora*_*ace 7

这里:

在使用程序对象时,应用程序可以自由修改附加的着色器对象,编译附加的着色器对象,附加其他着色器对象以及分离或删除着色器对象.这些操作都不会影响属于当前状态的可执行文件.但是,如果链接操作成功,则重新链接当前正在使用的程序对象将安装程序对象作为当前呈现状态的一部分...

所以,是的,它是合法的,并且在重新链接程序之前它将没有任何效果.

并重新链接当前程序自动安装新版本.