3D New Media: Data Formats and Platforms

You will look at JavaFX and its scene graph capabilities, since JavaFX is actually a part of the Java 7, Java 8, and soon the Java 9 programming language, and also supports delivery of JavaFX applications to both the Android OS and iOS.

  • PDF / 1,145,195 Bytes
  • 11 Pages / 439.37 x 666.14 pts Page_size
  • 57 Downloads / 209 Views

DOWNLOAD

REPORT


3D New Media: Data Formats and Platforms Now that you have an understanding of the fundamental concepts, terminology, principles, and workflow for creating 3D new media assets, it’s time to take a look at how you get that 3D vector new media asset into the Android Studio environment and an Android application. Android Studio only supports one open source 3D rendering engine, called OpenGL, or Open Graphics Library, but does not yet support a scene graph hierarchy with which you can construct i3D or interactive 3D applications. The JavaFX API, which is actually a part of Java 7 and Java 8, but not yet included in the Android API, would solve that problem. There are also some third-party Java platforms that now support Android and some iOS, as well as HTML5, that add scene graph capabilities to Java 7 and Android just like JavaFX does. You will look at JavaFX and its scene graph capabilities, since JavaFX is actually a part of the Java 7, Java 8, and soon the Java 9 programming language, and also supports delivery of JavaFX applications to both the Android OS and iOS. Then, you will look at other third-party Java scene graph platforms that you can use to create 3D or i3D applications for Android OS. You will also look at popular 3D file (data) formats that are supported in OpenGL ES 3.1 (Android), JavaFX, HTML5 WebGL, and WebGL 2. In fact, let’s get that out of the way first, and then get to JavaFX scene graph and 3D platforms.

3D Model Data: Open Source File Formats There are a number of 3D file (data) formats that used to be proprietary, such as Autodesk 3D Studio Max and Wavefront Object file formats, which are widely supported; although I am not sure if they have officially been open sourced. There are also a couple such as Collada and X3D that were intended to be open 3D data exchange formats, and a proprietary JavaFX format, which is also open source. There is also a manufacturing 3D data file format used for injection molding machines and 3D printers, which is called the STereoLithography file format, or STL for short. These are outlined in Table 11-1, and most platforms import these 3D formats into their scene graph and support all of their features.

© Wallace Jackson 2015 W. Jackson, Android Studio New Media Fundamentals, DOI 10.1007/978-1-4842-9867-1_11

117

CHAPTER 11 ■ 3D NEW MEDIA: DATA FORMATS AND PLATFORMS

Table 11-1. 3D Data File Formats Compatible with JavaFX in Java

3D Format

File Extension

JavaFX 3D Model Importer

Version

Autodesk 3D Studio

.3ds

3dsModelImporterJFX

0.7

Collada

.dae or .zae

ColModelImporterJFX

0.6

JavaFX FXML

.fxml

FxmlModelImporterJFX

0.5

Wavefront Object

.obj

ObjModelImporterJFX

0.8

STereoLithography

.stl

StlModelImporterJFX

0.7

X3D Version 3.3

.x3d or .x3dz

X3dModelImporterJFX

0.4

Let’s take a look at these formats and see what data can be transferred using each of them into Java 3D APIs.

Autodesk: 3D Studio for DOS 3DS The Autodesk 3DS format is a 3D data import and export format. It includes only the 3D mesh geometry, texture maps and light lo