所以glVertexAttribDivisor似乎在3.3中受到支持。我的显卡只支持3.3,你需要glVertexAttribDivisor函数进行实例化吗?实例化是否支持其他方式,因为glVertexAttribDivisor函数在我的显卡上不起作用?
答案 0 :(得分:3)
您的总帐实施可能会支持ARB_instanced_arrays
扩展程序。
答案 1 :(得分:3)
glVertexAttribDivisor()
不是实例化的必要条件。它增加了每个实例推进顶点属性的可能性。没有它,所有属性都会像往常一样在每个顶点前进。
这意味着您将为顶点着色器中的所有实例获取相同的顶点属性值。对于每个实例,您想要做的每件事都必须关闭内置的gl_InstanceID
变量。
例如,如果要在顶点着色器中使用每个实例值,则可以将它们存储在统一缓冲区中。在着色器中,然后定义包含数组的统一块,并通过使用gl_InstanceID
索引此数组来访问每个实例的值。