使用索引几何处理法线

时间:2016-04-28 12:04:31

标签: c++ 3d directx game-engine directx-11

是否可以使用带有索引缓冲区的顶点缓冲区并应用法线?似乎法线更像是面的属性,而不是顶点的属性。 F.E.在一个立方体中,每个顶点有3个法线,具体取决于面部。

是否有一种使用带索引几何的法线的智能方法?或者我是否必须仅构建顶点缓冲区并停止使用索引缓冲区?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

是的,使用Indexed Faces是可能的,甚至更好。所有Normals都将存储为每个Vertex,例如Positions

对于立方体,与非正常模型相比,将有更多顶点。但是对于Sphere,将有相同的顶点数量(相邻面的公共法线)。

当您知道源几何时,最好计算法线,否则结果可能不可靠。例如,平滑圆柱和棱镜可以具有相同的位置。