我理解在使用glDrawArraysInstanced
和朋友绘图时可以设置每个实例的属性,所以我想知道是否也可以为所有顶点设置一次属性(即每个实例)由glDrawArrays
生成而不是为每个顶点单独设置它们?
答案 0 :(得分:4)
当然可以。例如,如果您的属性为vec4
,属性位置为attrLoc
,则可以使用以下其中一项来设置适用于整个绘制调用的属性值:
glVertexAttrib4f(attrLoc, 1.0f, 2.0f, 3.0f, 4.0f);
glDrawArrays(...);
GLfloat attrVal[4] = {1.0f, 2.0f, 3.0f, 4.0f};
glVertexAttrib4fv(attrLoc, attrVal);
glDrawArrays(...);
对于具有1,2和3个成员的向量,有相同的调用。