【发布时间】:2012-06-01 21:30:30
【问题描述】:
我正在编写一个程序,它为不同的基元使用两个不同的着色器。我的问题是:如果我绑定一个程序,向它发送统一变量,然后使用另一个着色器程序并返回第一个,传递的统一值会保留吗?这是一些伪代码:
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();
}
}
【问题讨论】: