因此,如果我要使用 GL_TRIANGLE_FAN 绘制三边金字塔,我会为中心提供一个顶点,为底部提供三个(实际上是四个,但你知道我的意思,对吧?!)。
我可以计算金字塔的所有三个面(边)的面法线。
问题是如果我只有一个调用来绘制那个顶点,我如何为每个面(边)的第一个(中心)顶点分配不同的法线?
基本上我需要为组成三角形的所有三个顶点分配相同的面法线,而为接下来的两个三角形分配相同的面。
但是当我只调用一次顶点绘制函数时,不知道如何为第一个(中心)顶点分配法线三次(这甚至可能使用 GL_TRIANGLE_FAN 吗?!)。
将该顶点法线设置为 glNormal3f(0.0f, 0.0f, 1.0f) 是不好的(尽管看起来是正确的),因为这样顶点之间的颜色插值是不正确的。