2013-08-28 28 views
0

必须对每个顶点数组对象上传一次着色器制服(如不经常更改的投影矩阵)吗?或者,绑定变量与激活的VAO无关,并且着色器在绘制时仅与顶点对象相连接?必须为每个VAO上传一次着色器制服吗?

(例如做了着色器代表了自己,直到顶点数据通过绘图命令发送给它,或者它在某种程度上必然要产生的VAO?)

+2

想想他们的名字所暗示的制服,他们是统一的。 Vertex Arrays用于提供每个顶点的数据,但统一变量在GLSL的每个阶段(着色器)的输入数据的每个元素(例如顶点[VS],原始[GS],片段[PS])上是统一的程序工作。您可以将它们设置为每个程序对象,并且可以在附加到该程序的每个阶段中使用该值。 –

回答

3

校服都无关VAOs;他们是完全不同的数据。制服是程序对象状态。 VAO是完全独立的对象。

与大多数国家,统一的数据集中到一个程序将在更改之前保持这种方式。

相关问题