JavaFX文档翻译——TriangleMesh篇

Defines a 3D triangle mesh that consists of its associated VertexFormat and a set of separate arrays of vertex components such as points, normals, texture coordinates, and an array of faces that define the individual triangles of the mesh.

TriangleMesh类定义了一个3D的三角形网格,这个网格由它相关的VertexFormat类和一组独立的顶点组件数组组成。其中,顶点组件包括:点、法线、纹理坐标和一组定义单个三角形网格的表面数组。

Note that the term point, as used in the method names and method descriptions, actually refers to a 3D point (x, y, z) in space representing the position of a single vertex. The term points (plural) is used to indicate sets of 3D points for multiple vertices.

请注意,在函数名和函数描述中所谓的“点”,实际上是指三维空间中的一个点。

Similarly, the term normal is used to indicate a 3D vector (nx, ny, nz) in space representing the direction of a single vertex. The term normals (plural) is used to indicate sets of 3D vectors for multiple vertices.

相似的,术语“法线”是用来表示空间中的一个3维矢量,这个矢量代表一个点的方向。

The term texCoord is used to indicate a single pair of 2D texture coordinates (u, v) for a single vertex, while the term texCoords (plural) is used to indicate sets of texture coordinates for multiple vertices.

术语“texCoord”用来表示一个顶点的2维纹理坐标(u,v)。术语“texCoords”被用来表示多个顶点的一组纹理坐标。

Lastly, the term face is used to indicate 3 set of interleaving points, normals (optional, depending on the associated VertexFormat) and texture coordinates that together represent the geometric topology of a single triangle, while the term faces (plural) is used to indicate sets of triangles (each represent by a face).

最后,术语“face”表示一组“点”、“法线”、“纹理坐标”的集合,一个face表示一个三角形的几何拓扑。其中“法线”是可选的,依赖于相关的VertexFormat。术语“faces”表示一组三角形的几何拓扑。

For example, the faces with VertexFormat.POINT_TEXCOORD that represent a single textured rectangle, using 2 triangles, have the following data order: [
p0, t0, p1, t1, p3, t3, // First triangle of a textured rectangle
p1, t1, p2, t2, p3, t3 // Second triangle of a textured rectangle
]

例如,一个拥有VertexFormat.POINT_TEXCOORD属性的faces代表了一个具有纹理的长方形,这个长方形由两个三角形构成,这个faces的数据结构如下:
[
p0,t0,p1,t1,p3,t3, //具有纹理的长方形的第一个三角形
p1,t1,p2,t2,p3,t3//长方形的第二个三角形
]

whereas the faces with VertexFormat.POINT_NORMAL_TEXCOORD that represent a single textured rectangle, using 2 triangles, have the following data order: [
p0, n0, t0, p1, n1, t1, p3, n3, t3, // First triangle of a textured rectangle
p1, n1, t1, p2, n2, t2, p3, n3, t3 // Second triangle of a textured rectangle
]

然而,如果faces具有参数VertexFormat.POINT_NORMAL_TEXCOORD,那么这个faces代表了一个具有纹理的3D长方形,faces的数据结构如下:
[
p0, n0, t0, p1, n1, t1, p3, n3, t3, // 具有纹理的长方形的第一个三角形
p1, n1, t1, p2, n2, t2, p3, n3, t3 // 长方形的第二个三角形
]

where p0, p1, p2 and p3 are indices into the points array, n0, n1, n2 and n3 are indices into the normals array, and t0, t1, t2 and t3 are indices into the texCoords array.

p0, p1, p2和p3的位置代表着点的数组,n0, n1, n2和n3为法线数组,t0, t1, t2和t3为纹理坐标数组。

A triangle has a front and back face. The winding order of a triangle’s vertices determines which side is the front face. JavaFX chooses the counter-clockwise (or right-hand rule) winding order as the front face. By default, only the front face of a triangle is rendered. See CullFace for more information.

一个三角形有正反两面。三角形顶点的绕组顺序决定了哪一面是正面。JavaFX选择了逆时针方向的环绕顺序作为正面。在默认情况下,只有三角形的正面会被渲染。

The length of points, normals, and texCoords must be divisible by 3, 3, and 2 respectively. The length of faces must be divisible by 6 if it is of VertexFormat.POINT_TEXCOORD else it must be divisible by 9 if it is of VertexFormat.POINT_NORMAL_TEXCOORD. The values in the faces array must be within the range of the number of vertices in the points array (0 to points.length / 3 - 1) for the point indices, within the range of the number of vertices in the normals array (0 to normals.length / 3 - 1) for the normal indices, and within the range of the number of the vertices in the texCoords array (0 to texCoords.length / 2 - 1) for the texture coordinate indices.

点、法线、纹理坐标的长度必须能被3、3、2整除。如果faces携带VertexFormat.POINT_TEXCOORD属性,那么faces的长度必须能被6整除,如果faces携带VertexFormat.POINT_NORMAL_TEXCOORD属性,那么它的长度必须能被9整除。

你可能感兴趣的:(JavaFX文档翻译——TriangleMesh篇)