属性除数没有实例化?

Sir*_*sar 8 c++ opengl opengl-3

我知道glVertexAttribDivisor可以用来修改通用顶点属性在实例渲染过程中前进的速率,但我想知道是否有任何方法可以在没有实例化的情况下以特定速率推进属性.

这是我的意思的一个例子:

假设您正在定义构成一系列线的顶点位置列表,并且您希望将每条线与一个ID相关联.因此,您创建两个vbos,每个vbos包含与其中一个属性相关的数据(所有顶点位置或所有顶点ID).传统上,这意味着每个vbo必须是行数X 2的大小(在元素中)(因为每个点包含两行).这当然意味着我为一行中的每个点复制相同的ID值.

我想要做的是指定ID为顶点位置缓冲区前进的每2个元素提前1个元素.我知道这要求我的顶点位置缓冲区首先被声明(所以我可以引用它来告诉OpenGL多长时间推进ID缓冲区),但它似乎仍然可能.但是,我在OpenGL规范中找不到允许这种操作的任何功能.

Nic*_*las 2

你想要的东西在 OpenGL 中通常是不可能的。它实际上是多索引渲染的一种受限形式,因此您必须使用其中一种技术来获得它。