2014-12-27 6 views
4

저는 Swing 및 OpenGL (JOGL 포함)을 사용하여 기어 박스 부품을 계산하기위한 소프트웨어를 제작하고 있습니다. 이 소프트웨어로 계산 된 부품이 3D로 표시됩니다.JavaFX GUI, 복잡한 3D 그래픽을위한 가장 쉬운 방법

PGS

형상이 지정된 우선/계산 (팁/루트 지름, 폭, 잇수 ...) 및 3D 부분은이 데이터로부터 다음 그림은 예시적인 부분을 나타낸다 만들어진. 이 예제 파트는 JOGL-Code로 만들어졌으며 사용하기 쉽고 Swing-GUI에 통합 될 수 있습니다.

이제 JavaFX 응용 프로그램 GUI를 사용하여 약간의 게임을하고 JavaFX에서 소프트웨어를 계속 제작하기로 결정했습니다. 필요한 모든 것을 제공하기 때문에 훨씬 더 좋아 보이게되었습니다. 문제는 JOGL-OpenGL 그래픽을 사용할 수 없다는 것입니다. 자바 FX-응용 프로그램에서의 OpenGL 그래픽을 통합 할 수있는 방법에 대한

  • 검색 -하지만 난 조금 봤 이것은 매우 어렵고 가능한 솔루션이 될 것 같다 :

    그래서 여기에 나를 위해 가능성있다 매우 느린 것 같습니다.

  • JavaFX 통합 3D 그래픽 (TriangleMesh)을 사용하십시오. 그러나 이것은 이해하기 어려우며 좋은 예제를 찾을 수 없습니다.
  • 다른 해결책?

좋은 해결책을 찾도록 도와주세요. 너는 무엇을 할 것이냐? 내가 좋아하는 것은 OpenGL을 계속 사용하는 것이지만 아직 어떤 좋은 해결책이 있습니까?

+0

내 제안을 여러 번 시도해 보셨습니까? https : // jogamp.org/bugzilla/show_bug.cgi? id = 607 성능 문제가있을 수 있지만 메시의 복잡성에 따라 다릅니다. – gouessej

+0

TriangleMesh에 대한 귀하의 좌절감과 우려 사항을 이해합니다. "편안함"을 얻는데 시간이 걸렸습니다. OpenGL을 많이 사용하지는 않았지만 메쉬 구조가 완전히 엉망 일 때 점 (정점), TexCoords (uv 's) 및 Faces (삼각형)가 매우 유사합니다. 변환은 매우 간단합니다. – jdub1581

+0

@goussej : 링크를 주셔서 감사합니다
@jdub 거기에 대한 좋은 설명서 또는 튜토리얼이 있습니까? TexCoords와 Faces가 무엇인지, 올바른 값을 계산하는 방법에 대해 몇 가지 예를 들지만 이해할 수 없었습니다. 어디에서 시작해야합니까? – ohoeppner

답변

3

것은 당신이 결정하는 데 도움 수있는 몇 가지 자바 FX 3D 자원을 찾고 있다면 여부는 아직 성숙 여부, 이들은 다른 사람의 사이에서,을 사용할 수 있습니다 OpenFJX 프로젝트에서

  • 3DViewer here.
  • InteractiveMesh importersbrowser.
  • F(X)yz은 기본 JavaFX 8 3D 패키지에없는 추가 프리미티브, 복합 객체, 컨트롤 및 데이터 시각화를 제공하는 새로운 JavaFX 3D 라이브러리입니다.
  • Multimodel3DFX는, 저장소는 2014 년

11월/Dicember에서 오라클 자바 잡지에 게재, 문제 "역사적 보물을 모델링하기 위해 자바 FX 3D를 사용하여 스카이 빌딩 성."기사에 표시된 예를 들어 코드를 포함 이는

Spur Gear

: YZ F (X)에서 PolyLine3D 나는 당신이이 자바 FX의 3D subscene에서 렌더링 어떻게 볼 수 있도록, 스퍼 기어의 2D 폴리 라인을 압출 할 수 있었다 Multimodel3DFX의 plaftorm 사용 또한 수학적 3D 모델은 다음을 사용하여 생성됩니다. F (X) yz 라이브러리는 모두 TriangleMesh을 기반으로합니다. 장단점과

3D shapes

당신이 볼 수 있듯이, 자바 FX 3D API는 쉽게 복잡한 작업을 달성하기 위해 확장 할 수 있습니다.

+0

와우 - 이것은 매우 유망 해 보입니다. 도와 주셔서 정말로 고맙습니다. 이미 F (X) yz를 다운로드하고 모든 예제를 살펴 보았습니다. Multimodel3DFX를 다운로드했는데 응용 프로그램을 실행하여 설명 된 성을 볼 수 있습니까? 그리고 Polyline3D를 돌출 시키려면 어떻게해야합니까? 그림의 평 기어는 매우 멋지게 보입니다. – ohoeppner

+0

감사합니다. F (x) yz에서 TriangleMesh를 시작할 수있는 충분한 정보를 (코드로) 찾을 수 있습니다. 그러나 당신이 당신의 모양에 대한 세부 사항을 우리에게 제공한다면 당신은 기능 요청을 할 수 있습니다. 우리는 대답에 나와있는 것과 같은 샘플 기어를 추가 할 수 있습니다. Multimodel3DFX 프로젝트에는 테스트 할 작은 모델이 있지만 큰 모델은 사용할 수 없습니다. –

+0

폴리 라인을 돌출시키는 방법 (너비가 생성자 내에 있음)과 Multimodel3DFX (NavigationFX.java)의 모델을 시작하는 방법을 이미 알았습니다. 하지만 몇 시간 정도만해도 충분합니다 :-)하지만 한 가지 더 질문 - OpenGL에서 조명을 위해 삼각형의 좌표와 해당 삼각형에 수직 인 벡터 (삼각형에서 두 벡터의 교차 곱)를 지정해야합니다. 그러나 JavaFX-3D는 어떻게 그것입니까? 내가 가지고있는 예제에서 기하학적 포인트와면/텍스처 값 사이의 어떤 연결도 보이지 않는다. 어디에서 좋은 설명을 찾을 수 있습니까? – ohoeppner