異なるプリミティブに対して2つの異なるシェーダーを使用するプログラムを作成しています。私の質問は、プログラムをバインドし、それに均一な変数を送信してから、別のシェーダープログラムを使用して最初のプログラムに戻った場合、渡された均一な値は残りますか?ここにいくつかの擬似コードがあります:
glUseProgram(shader1);
glUniform(shader1,...);
//stuff
for(elements in a list) {
if(element.type = 1) {
glUseProgram(shader2);
element.draw();
} else {
glUseProgram(shader1); //Here, do the uniforms from above remain, if shader2 was bound before?
element.draw();
}
}