2

如果您正在计算多边形的法线以在 WebGL 上渲染它,您是为索引数组中的每个索引还是为顶点数组中的每个顶点使用法线?

4

2 回答 2

2

此处的注释中,用户正在为每个顶点计算它们。

于 2010-06-22T20:55:10.083 回答
1

每个顶点。WebGL 意义上的顶点(与 OpenGL ES 和其他前辈相同)并不是真正的空间点,而是属性的组合。其中之一几乎总是位置(尽管在不寻常的情况下您可能没有那个),而其他通常是诸如法线向量、颜色、纹理坐标等之类的东西。

相比之下,索引数组是顶点属性数组的偏移量。因此,当您在索引数组中指定索引(例如)1 时,它是“由位置缓冲区中的第一个位置、法线缓冲区中的第一个法线、颜色缓冲区中的第一个颜色和第一个纹理坐标缓冲区中的纹理坐标”。

对我来说,最违反直觉的事情就是将顶点与它们碰巧占据的位置分开。没有理由为什么两个顶点不能具有相同的位置。

于 2010-06-22T23:18:57.407 回答