2013-05-18 58 views
0

我不確定這樣的插件是否存在..但是我的程序顯示的數據很容易轉換爲VRML或X3D文件,所以它會非常方便我可以直接在程序的窗口中顯示這些文件的圖形。任何人都可以建議任何Java插件或任何解決方案來實現這一點?從VRML或X3D插件顯示3D對象

回答

3

如果您的程序生成或讀取三維網格數據(三角形)並且能夠創建包含代表這些3D對象的定義良好的X3D文檔的String對象,那麼Java 3D™API和XModelImporter API可能會提供解決方案爲你。

XModelImporter爲「可擴展3D(X3D)」文件提供Java 3D導入器。在這種情況下,'com.interactivemesh.j3d.interchange.ext3d.XModelReader'似乎是合適的導入程序,或者是'com.interactivemesh.j3d.interchange.ext3d.XModelLoader'。

XModelReader通過接受諸如'java.io.File'和'java.net.URL'之類的外部數據的不同來源來導入X3D文件,而且'java.io.Reader'應該適用於內部存儲的數據也是。

以下沒有測試場景可能的工作:

  • 寫X3D文檔轉換爲StringBuilder對象
  • 創建相應的String對象(StringBuilder.toString)
  • 創建一個實例java.io.StringReader中這X3D串
  • 創建XModelReader實例,並通過調用XModelReader.read(java.io.Reader中的閱讀器)
  • 調用XModelReader.getImport導入X3D數據( )返回可與Java 3D渲染

的Java 3D https://java3d.java.net/binary-builds.html 'javax.media.j3d.Node' 的數組

XModelReader http://www.java.net/node/706300

我不知道有任何「當前支持「準備好用於Swing或JavaFX的VRML或X3D播放器。您可以考慮選擇Java平臺的3D API之一,並將數據直接轉換爲相關格式,而不是將網格轉換爲VRML或X3D並從中返回。