使用索引几何处理法线

Handling normals with indexed geometry

是否可以将顶点缓冲区与索引缓冲区一起使用并应用法线?看起来法线更像是面的属性,而不是顶点的属性。 F.e。在立方体中,每个顶点有 3 条法线,具体取决于面。

是否有将法线与索引几何一起使用的巧妙方法?或者我是否必须只构建顶点缓冲区并停止使用索引缓冲区?

提前致谢。

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

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

最好在知道源几何体的情况下计算法线,否则结果可能不可靠。例如 smooth Cylinder 和 Prism 可以有相同的位置。