1

我知道当 glDrawElements 被调用时,它使用索引缓冲区来确定以什么顺序绘制哪些顶点。我的问题是这些索引如何应用于纹理、法线和颜色属性。是否可以为每个顶点应该使用的纹理坐标和法线设置另一个索引数组。或者我是否必须创建法线和纹理坐标缓冲区,以便它们与正在绘制的顶点对齐?

4

1 回答 1

5

是否可以为每个顶点应该使用的纹理坐标和法线设置另一个索引数组。

不,有一个很好的理由:

或者我是否必须创建法线和纹理坐标缓冲区,以便它们与正在绘制的顶点对齐?

不要试图将顶点、法线、纹理坐标等视为分配给顶点(-位置)的不同向量。顶点实际上是一个复合向量,它涵盖了所有这些属性。旧术语源于固定功能管道。现代 OpenGL 只知道通用顶点属性。

所以每个索引都指向一个特定的顶点向量。如果任何属性存在差异,则它是不同的顶点,因此将被赋予不同的索引。

于 2012-06-21T21:43:44.453 回答