Opengl es 有多少法线?

Opengl es 有多少法线?,opengl-es,webgl,normals,Opengl Es,Webgl,Normals,如果要计算多边形的法线以在WebGL上进行渲染,是否为索引数组中的每个索引或顶点数组中的每个顶点使用法线?在中,用户为每个顶点计算法线。每个顶点。在WebGL意义上(与OpenGL ES和其他前身相同),顶点实际上不是空间中的点,而是属性的组合。其中一个几乎总是位置(尽管在不常见的情况下,您可能没有位置),其他的通常是法向量、颜色、纹理坐标等 相反,索引数组是顶点属性数组的偏移量。因此,当您在索引数组中指定索引(例如)1时,它是“由位置缓冲区中的第一个位置、法线缓冲区中的第一个法线、颜色缓冲区中

如果要计算多边形的法线以在WebGL上进行渲染,是否为索引数组中的每个索引或顶点数组中的每个顶点使用法线?

在中,用户为每个顶点计算法线。

每个顶点。在WebGL意义上(与OpenGL ES和其他前身相同),顶点实际上不是空间中的点,而是属性的组合。其中一个几乎总是位置(尽管在不常见的情况下,您可能没有位置),其他的通常是法向量、颜色、纹理坐标等

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


对我来说,学习这一点时最违反直觉的事情是将顶点与它们恰好占据的位置分离。没有理由说两个顶点不能有相同的位置。

我想我已经解决了这个问题,只是为了结束讨论。。。换句话说,索引检索其他缓冲区中的任何信息:颜色、法线、纹理等。因此,在顶点空间中定义所有这些。谢谢,贾尔斯。是的,没错。索引零是指所有这些缓冲区中的第零个元素。