2014-05-19 7 views
2

javafx.scene.shape.Shape을 확장하는 객체를 회전하면 주로 2D로 설계되었지만 3D 공간으로 변환 할 수 있다는 것을 알고 있습니다.3D 공간에서 JavaFX 2D 모양

예를 들어 다양한 MeshView이 발생하는 3D 장면 (원근감있는 카메라와 깊이 버퍼가 사용됨)이 있다고 가정 해 보겠습니다. 일부는 영역에 사용되고 다른 일부는 행에 사용됩니다. 두 경우 모두 그 모양은 종종 중요하지 않은 TriangleMesh으로 그릴 수 있도록 삼각형을 사용해야합니다.

이 줄의 그림을 Polyline 클래스를 사용하도록 변경하면 성능이 저하되고 흉측이 생깁니다. 나는 폴리선의 정점이 작고 개발자가 프로그래밍 방식으로 삼각형을 만들 필요가 없다는 사실로부터 이익을 얻을 수 있다고 생각했습니다.

javafx.scene.shape.Shape까지 확장 된 모양을 사용하지 않는 것이 좋습니까? 그들은 내부적으로 어떻게 그려져 있나?

답변

5

"3D 공간에서 2D 모양 개체를 사용해야합니까?" JavaFX에서보고있는 모든 끔찍한 성능을 얻을 수 있으므로 대답은 아니오입니다. 그러나 2D 오브젝트를 사용하는 3D PolyLine 오브젝트가 부족하고 3D 공간에서 회전하는 JavaFX의 부족한 점을 보완하려고하는 것 같습니다. 그게 사실이라면, 대신 무료로 오픈 소스 F (X) YZ 라이브러리를 사용 :

예를 들어 http://birdasaur.github.io/FXyz/

단순히 Point3Ds의 목록을 지정하고 당신을 위해 그들을 연결할 수있는 PolyLine3D 클래스 :

/src/org/fxyz/shapes/composites/PolyLine3D.java

하고 테스트 디렉토리에 사용하는 방법에 대한 예제 코드를 볼 수 있습니다

/SRC/조직/fxyz/테스트/PolyLine3DTest.java