GLSL :我应该关心变量是否正确吗?



在处理多种材料的情况下,由于不需要某些信息,因此会省略某些信息。 如果不处理它们,CPU 将不会向 GPU 传递任何内容(或将顶点传递给碎片)。

在这种情况下,我应该关心变量(尤其是制服)在着色器中是否正确(传递)?

或者,我应该在 CPU 中处理变量并相信变量在着色器中是正确的(传递)的吗?

制服:你至少应该知道制服里有什么,以及这个值是否会影响结果。

默认值为零,如此处所述。

除此之外,可以有任何值,你上次存储在这里,它只取决于你的代码,如果它可以以任何方式影响结果。最好"上传"当前值或零,这样您就不必检查它。

In:输入值取决于您传入的当前输入数组,您只能控制这些信息的来源。没有它,着色器就没有多大意义。这些数组控制着色器实例的数量。


无论哪种方式,如果您正确传递变量,它们在着色器中也是正确的。检查这一点有时非常困难,但可以做到。例如,通过从帧缓冲区读取。

最新更新