我目前正在使用 JavaFX 3D 应用程序,并在 TriangleMesh 类中遇到了 getNormals() 方法。
如 TriangleMesh 类用于创建用户定义的 Java FX 3D 对象,其中
getPoints() 用于添加点
getFaces() 用于添加面
getTexCoords() 用于管理 3D 对象的纹理,
但我不确定TriangleMesh 类中 getNormals() 方法的用途。
在 TriangleMesh 类中,我们可以将顶点格式设置为 VertexFormat.POINT_TEXCOORD 和 VertexFormat.POINT_NORMAL_TEXCOORD。
但是如果我们将 vertexFormat 设置为“VertexFormat.POINT_NORMAL_TEXCOORD”,那么我们需要将法线索引添加到 Faces 中,如下所示:
[ p0, n0, t0, p1, n1, t1, p3, n3, t3, // 第一个三角形带纹理的矩形
p1, n1, t1, p2, n2, t2, p3, n3, t3 // 纹理矩形的第二个三角形]
如https://docs.oracle.com/javase/8/javafx/api/javafx/scene/shape/TriangleMesh.html中所述
如果我使用 vertexFormat 作为 POINT_TEXCOORD 或 POINT_NORMAL_TEXCOORD,我没有发现 3D 形状有任何区别。
那么在 TriangleMesh JavaFX 中 getNormals() 方法有什么用呢?
提前致谢..