【发布时间】:2012-10-26 11:41:07
【问题描述】:
因此,如果我要使用 GL_TRIANGLE_FAN 绘制三棱锥,我会为中心提供一个顶点,为底部提供三个(实际上是四个,但你知道我的意思,对吧?!)。
我可以计算金字塔所有三个面(边)的面法线。
问题是如果我只有一个调用来绘制该顶点,我如何为每个面(边)的第一个(中心)顶点分配不同的法线?
基本上,我需要为构成三角形的所有三个顶点分配相同的面法线,而不是为接下来的两个三角形分配相同的面。
但是当我只调用一次顶点绘制函数时,不知道如何为第一个(中心)顶点分配法线三次(这甚至可能使用 GL_TRIANGLE_FAN 吗?!)。
将顶点法线设置为 glNormal3f(0.0f, 0.0f, 1.0f) 不好(尽管看起来是正确的),因为这样顶点之间的颜色插值是不正确的。
【问题讨论】:
-
你不能,你需要使用不同的顶点。它将具有相同的位置但不同的法线。 (并且可能是一个三角形列表而不是一个粉丝)
-
查看here了解一般问题及其解决方案。