小编Seb*_*dez的帖子

如果未绑定,是否在GLSL着色器中保留统一值?

我正在制作一个程序,它为不同的不同基元使用两个不同的着色器.我的问题是,如果我绑定一个程序,发送它统一变量,然后使用另一个着色器程序并回到第一个,传递的统一值是否仍然存在?这是一些伪代码:

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();
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ opengl glsl

22
推荐指数
1
解决办法
5158
查看次数

方案何时评估报价?

(car ''abracadabra)相当于(car (quote (quote abracadabra)),它的结果是(car (quote abracadabra))- >quote

在另一方面(car (quote (a b)))评估a,这对我来说是直观的.

所以我的问题是,为什么Scheme不评估第二个引用(car (quote (quote abracadabra))(即评估(car (quote abracadabra))(car abracadabra)),但是评估报价(car (quote (a b)))(即为什么不是答案quote)?

lisp scheme sicp

5
推荐指数
1
解决办法
437
查看次数

标签 统计

c++ ×1

glsl ×1

lisp ×1

opengl ×1

scheme ×1

sicp ×1