我目前正在编写一个Shader类,并且很好奇以下在opengl中的用例是否有效。
假设您将源代码(SourceCode)添加到着色器(由句柄指定):
void glShaderSource(handle, 1, sourceCode, nullptr);
然后尝试编译着色器,但它失败了。
更新sourceCode,如上所述再次调用glShaderSource并重新编译,这是一个有效的和/或经过良好测试的用例吗?
当然,您可以在一个着色器失败后编译其他着色器。
测试良好的用例
我确信它经过了测试,但没有人这样做。在启动程序之前修复着色器,而不是在启动程序之后。