在 OpenGL 中绘制实例时,属性除数只能设置为 255 作为最大值,因此要组合大网格,我必须将其分成多个实例。我需要了解有关 OpenGL 中除数的更多信息,最大限制是否取决于驱动程序/GPU,还是在每个设备上始终为 255?
最佳答案
您误解了divisor and instance arrays有效。
实例化意味着多次渲染相同的网格,提供不同的每个实例数据,例如变换等。实例数组是提供每个实例数据的一种方法。
除数不是顶点数的除数。它是实例计数的除数。因此,如果您使用instanced rendering,它实际上只会做一些有用的事情。 .
如果除数为零,则该属性不会发生实例化。如果除数为 1,则实例中所有顶点的属性都相同,但下一个实例将获取下一个值。如果除数为 2,则前两个实例将获得相同的值,但后两个实例将获得不同的值。等等。
除非您正在通过实例做一些非常特殊的事情,否则您的除数应该是 0 或 1。它不应该基于顶点计数。
关于c - OpenGL属性除数的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42465982/