我目前正在开发 JavaFX 3D 应用程序,并在 TriangleMesh 类中遇到 getNormals() 方法。
正如 Triangle Mesh 类用于创建用户定义的 Java FX 3D 对象一样,其中
getPoints()用于添加Points
getFaces() 用于添加 Faces
getTexCoords() 用于管理 3D 对象的纹理,
但我不确定 TriangleMesh 类中 getNormals() 方法的用途是什么。
在TriangleMesh类中,我们可以将顶点格式设置为VertexFormat.POINT_TEXCOORD和VertexFormat.POINT_NORMAL_TEXCOORD。
但是如果我们将 vertexFormat 设置为“VertexFormat.POINT_NORMAL_TEXCOORD”,那么我们需要将法线索引添加到面中,如下所示:
[
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 https://docs.oracle.com/javase/8/javafx/api/javafx/scene/shape/TriangleMesh.html
如果我使用 vertexFormat 作为 POINT_TEXCOORD 或 POINT_NORMAL_TEXCOORD,我没有发现 3D 形状有任何差异。
那么TriangleMesh JavaFX中的getNormals()方法有什么用呢?
提前致谢..