c - OpenGL属性除数的最大值

标签 c opengl geometry-instancing

在 OpenGL 中绘制实例时,属性除数只能设置为 255 作为最大值,因此要组合大网格,我必须将其分成多个实例。我需要了解有关 OpenGL 中除数的更多信息,最大限制是否取决于驱动程序/GPU,还是在每个设备上始终为 255?

最佳答案

您误解了divisor and instance arrays有效。

实例化意味着多次渲染相同的网格,提供不同的每个实例数据,例如变换等。实例数组是提供每个实例数据的一种方法。

除数不是顶点数的除数。它是实例计数的除数。因此,如果您使用instanced rendering,它实际上只会做一些有用的事情。 .

如果除数为零,则该属性不会发生实例化。如果除数为 1,则实例中所有顶点的属性都相同,但下一个实例将获取下一个值。如果除数为 2,则前两个实例将获得相同的值,但后两个实例将获得不同的值。等等。

除非您正在通过实例做一些非常特殊的事情,否则您的除数应该是 0 或 1。它不应该基于顶点计数。

关于c - OpenGL属性除数的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42465982/

相关文章:

c++ - 在 OpenGL : improving frames-per-second 中实例化数百万个对象

c - Ragel 中的字符串插值

c - C-使用指针时出现strncpy段错误

c - 为什么预处理器不扩展代码中稍后定义的类型

c++ - OpenGL 实例化 : how to debug missing per instance data

OpenGL 草渲染

c++ - 套接字客户端使用服务器接受的连接发送

OpenGL:如何确定 3D(渲染)点是否被其前面的其他 3D(渲染)图元遮挡?

opengl - OpenGL的glClear()在Windows 64中导致访问冲突(0xc0000005)

我可以在 linux 中获得与 mesa 的 opengl 兼容性上下文吗?