3

有人告诉我,脸部的法线是“垂直于脸部的矢量”,但在尝试绘制 3d 形状时我仍然不明白。有人可以给我一个更清晰的解释,或者(甚至更好)一个图表吗?让我困惑的代码块是对glNormal3f(x, y, z).

4

2 回答 2

5

面法线与不必垂直于面的顶点法线不同,虽然它是。

面法线用于确定面指向的方向。如果它指向远离相机,则渲染时可以忽略面部。它还用于在执行快速平面或多面渲染时确定面部的颜色。

顶点法线用于为对象添加圆度。每个顶点的法线位于圆柱体的半径上,从轴向外指向——如果你愿意,想象一下老式的轮船:

在此处输入图像描述

其中手柄是顶点法线,因此它们代表圆柱体在该点的实际曲率。

如果你取一个圆柱体并刻面它,你会得到一个规则的多边形管。只需使用面部法线渲染它就会给你这样的东西:

平面阴影

使用顶点法线渲染它会给你这个:

平滑阴影

您仍然可以看到圆柱体末端的刻面,但主体看起来很光滑。

于 2013-05-08T14:04:24.833 回答
4

快速谷歌,你可以找到这个教程,其中包括下图:

OpenGL

如您所见,法线是垂直于面部的方向向量。它们用于照明计算,以便您在使用定向照明时获得正确的阴影显示。

于 2013-05-08T13:08:40.277 回答