将每个绘制元素的第二个属性传递给着色器,而不管元素索引如何

时间:2013-12-28 14:25:24

标签: opengl glsl

我有一个包含所有顶点的数组缓冲区和一个元素数组缓冲区对象,所有索引都指向右顶点。到目前为止,绘图与glDrawElements()一起工作正常。

现在我想将每个绘制元素的顶点属性赋予着色器,无论元素索引是什么。我已经将属性存储在另一个数组缓冲区中,但是如果我在绑定属性缓冲区时使用glVertexAttribPointer(),它会选择位于元素数组缓冲区索引处的元素,而我希望它给出属性按顺序存储。我不知道是否可以绑定另一个元素数组缓冲区。

这可以用当前的缓冲区来实现吗?如果没有,是否有替代方案,我不必将顶点与数据组合?

我不想将它们组合在一个交错的数组缓冲区中,因为顶点应该多次使用,只需要使用不同的元素索引和数据。

以下是情况的小图(注意数据的第二顺序):

Fullscreen Image

0 个答案:

没有答案