2013-05-18 19 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并从中返回。