Skip to main content

XModelImporter J3D : X3D Importer / Loader released

No replies
Joined: 2006-06-07

A. Intro XModelImporter J3D

XModelImporter J3D provides Java 3D importer for Extensible 3D (X3D) files in compliance with

- Java 3D API Specification 1.5.2 / JRE 5
- Java 3D Extensions for X3D files
- Extensible 3D (X3D) Part 1: Architecture and base components ISO/IEC 19775-1:2008
- Extensible 3D (X3D) encodings Part 1: XML encoding ISO/IEC 19776-1.2:2009

XModelImporter J3D enables to define simple and complex Java 3D models in external, readable, editable, and XML-based X3D files and to import these 3D models into Java 3D applications and applets written in Java, JavaFX, or Scala.

The Java 3D Extensions for X3D files define metadata nodes which allow to specify not supported Java 3D scene graph objects or single Java 3D attributes in X3D files.

Basically, all supported nodes of X3D-compliant files will be imported, not supported nodes and attributes will be ignored silently.

B. Download XModelImporter J3D

The XModelImporter J3D API Specification 0.8, the corresponding binary release jimXModelImporterJ3D.jar 0.8.1 (116 KB) and the license can be downloaded here:

To get familiar with this API, read the overview page of the JavaDoc and the accompanying page Java 3D Extensions. Further programming details are described in the XModelImporter interface and the XImportOptions class.

C. Sample Model and Program: ScooterParade

Launch the ScooterParade example to demonstrate lazy deployment of (X)3D-models and Phong-shading if GLSL is supported (requires an installed Java 3D):

The 'ScooterModel.x3d' file is packed 9 times in jar-files (315 KB) to simulate 9 different lazily loadable models which will be individually colored when imported. A scooter consists of 42 Shape3Ds, 17 shared Appearances with a single shared ShaderProgram, 83 IndexedTriangleArrays (UCIO), and 36.282 triangles.

The download includes also the sample's binaries allowing to run the program on your desktop on OpenGL and Direct3D. The scooter model and the sample source code can be freely used (see licenses). (3.3 MB)

D. XModelBrowser J3D

Easy and fast loading of all your X3D-models. Immediate control of manual changes within your X3D-files. Present the models to your audience.

- File View / JAR View
Browse through the directories of the 'File View' and load a model with a single click according to the chosen reader-filter. To load models directly from within a Java archive choose the 'X3D Archive (*.jar)'-filter and select a jar-file with X3D-models (e.g. DuckModels, ScooterModel). Then the 'JAR View' will be active and a model can be loaded analogous to the 'File View'.

While loading the UI is blocked. Loading progress is animated by a running timer on the menu bar (on the right) and on the Performance-tab.

- 3D-Navigation

<br />
                      KEYS            MOUSE<br />
    Rotation         Arrows         Left button<br />
    Translation    Alt+Arrows      Right button<br />
    Zoom          Page up/down  Middle button / Wheel<br />

- Add Viewpoints to your X3D-models
Open Scene-tab, right-click on one of the X3D Viewpoint value fields, select 'Copy Viewpoint', paste the entire node into the scene-node/element of the X3D-file, edit the description attribute, save the file, and press the Reload-button.

- For more features see buttons' tooltip.

Download :

E. X3D-Models

Download, unzip, and run following models in the XModelBrowser or in your Java 3D application:

- Basic models for testing X3D-compliance (188 samples) and learning core X3D nodes and features (38 samples) (1.2 MB)

- Duck model in two versions: X3D IndexedTriangleSet node with (a) normals and (b) crease angle for normals generation (Java 3D extension). The also included original Collada model 'duck_triangulate.dae' was read with the Java 3D utility Collada14Loader.

- High resolution motorbike model for testing the importer's loading performance and for individual coloring in an XML-editor. Two versions can be loaded: 'NormalFlip' and 'FrontBackFace' (519.332 / 623.207 triangles). Have a guess: Which version of two-sided rendering is faster on OpenGL? See also README_MotorBikeOCC1.0.txt. (11 MB)

F. Next to come

VRML-loader and -models will be replaced with X3D-importer and -models in all Java 3D sample programs on InteractiveMesh web pages. The web version of the XModelBrowser is in work.

Any feedback is welcome, August


Message was edited by: interactivemesh