2017-02-28 12 views
0
)

JavaFX에서 결합 된 TriangularMeshes로 j3d GeometryArrays를 표시하는 중입니다. 내가 받고있는 GeometryArrays는 TriangleStripArrays이며, 순서를 통해 올바른 얼굴을 만들고 장면의 메쉬를 표시 할 수 있습니다.JavaFX 및 Point3D에서 정점 감기 결정 (

그러나 TriangleStripArray를 기반으로 버텍스 와인딩 순서를 결정하는 방법을 놓치고 있습니다. 얼굴에는 현재 배면 컬링에 대한 올바른 개념이 없으므로 주어진 각도에서 왜곡되어 나타나는 완전한 TriangleMesh가 남습니다. CullFaceMode를 BACK에서 NONE으로 변경하고 씬의 꼭지점을 플로팅하여 모든면이 올바르게 맵핑되고 있음을 알 수 있습니다.

3 개의 꼭지점을 포함하는 삼각형면에서 TriangleMesh를 만드는 두 가지 방법이 있습니다. 하나는 CW 와인딩 용이고 다른 하나는 CCW 용입니다. 기본적으로

:

float[] points = {v1.x, v1.y, v1.z, v2.x, v2.y, v2.z, v3.x, v3.y, v3.z}; 
float[] texCoords = {1, 1, 1, 0, 0, 1}; 
int[] faces = new int[]{0, 0, 1, 1, 2, 2}; 

float[] points = {v2.x, v2.y, v2.z, v1.x, v1.y, v1.z, v3.x, v3.y, v3.z}; 
float[] texCoords = {1, 0, 1, 1, 0, 1}; 
int[] faces = new int[]{0, 0, 1, 1, 2, 2}; 

내 질문은

대, 어떻게 순서를 권선 정점을 결정할 수 있으며, 어떤 방법을 혼자 TriangleStripArray에 따라, 얼굴 당 사용되어야 하는가? (TexCoordinates가 공급되지만 사용되지는 않습니다.)

미리 감사드립니다! - R. Melville

답변