【问题标题】:How many normals?多少个正常值?
【发布时间】:2010-06-22 20:50:24
【问题描述】:

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

【问题讨论】:

    标签: opengl-es webgl normals


    【解决方案1】:

    notes here 中,用户正在为每个顶点计算它们。

    【讨论】:

      【解决方案2】:

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

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

      当我了解到这一点时,最违反直觉的事情是将顶点与它们碰巧占据的位置分开。没有理由两个顶点不能有相同的位置。

      【讨论】:

      • 我想我已经解决了这个问题,但只是为了结束讨论......好吧,换句话说,索引检索您在其他缓冲区中拥有的任何信息:颜色、法线、纹理等。所以您在顶点空间上定义所有这些。谢谢贾尔斯。
      • 是的,没错。索引零是指所有这些缓冲区中的第零个元素。
      猜你喜欢
      • 1970-01-01
      • 2010-11-19
      • 1970-01-01
      • 2015-07-30
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 2014-07-15
      • 2012-08-27
      相关资源
      最近更新 更多