In The Java 3D API Specification, Second Edition, the most current release of the Java 3D API, version 1.2, is fully specified, explained and discussed. This newest version of the API features a redesigned internal architecture that provides a foundation for higher quality applications with improved ability to scale. This is the most authoritative, complete, and detailed book on the Java 3D API. This book represents the definitive Java 3D API specification, providing authoritative and detailed descriptions of each element of the API. It offers an informative overview of the Java 3D API, comprehensive instructions for "scene graph" definition and construction, and a detailed description of the Java 3D View Model, an innovative model enabling applications to be displayed on a wide array of devices. The book also features a variety of input devices, picking mechanisms, audio capabilities, and behaviors and interpolators for animating objects. The Java 3D Execution and Rendering Model is described in depth. Other topics covered include math objects, 3D geometry compression, and exceptions. The accompanying CD-ROM, new to this edition, contains numerous live examples.
Comprehensive and definitive, this book is an essential reference for any programmer interested in entering the exciting world of three-dimensional Internet applications. The Java 3D API, part of the Java Media suite of APIs, enables the creation of three-dimensional graphics applications and Internet-based 3D applets. It gives developers high-level constructs for creating and manipulating 3D geometry and for building the structures used in rendering that geometry. Using the Java 3D API, developers can efficiently define and render very large virtual worlds. Moreover, in line with the Java platforms "write once, run anywhere" vision, applications written using the Java 3D API can run on a wide range of platforms and systems and are adapted for use on the Internet. For all programmers and developers in the field of three-dimensional Internet applications, The Java 3D API Specification, Second Edition is an essential resource.
Table of Contents:
Figures.
Preface.
1. Introduction to Java 3D.
Goals.
Programming Paradigm.
High Performance.
Support for Building Applications and Applets.
Overview of Java 3D Object Hierarchy.
Structuring the Java 3D Program.
2. Java 3D Concepts.
Basic Scene Graph Concepts.
Features of Java 3D.
3. Scene Graph Basics.
Scene Graph Structure.
Scene Graph Objects.
Scene Graph Superstructure Objects.
Scene Graph Viewing Objects.
4. Scene Graph Superstructure.
The Virtual Universe.
Establishing a Scene.
Loading a Virtual Universe.
Coordinate Systems.
High-Resolution Coordinates.
API for Superstructure Objects.
5. Group Node Objects.
Group Node.
BranchGroup Node.
TransformGroup Node.
OrderedGroup Node.
DecalGroup Node.
Switch Node.
SharedGroup Node.
6. Leaf Node Objects.
Leaf Node.
Shape3D Node.
BoundingLeaf Node.
Background Node.
Clip Node.
ModelClip Node.
Fog Node.
Light Node.
Sound Node.
Soundscape Node.
ViewPlatform Node.
Behavior Node.
Morph Node.
Link Node.
AlternateAppearance Node.
7. Reusing Scene Graphs.
Sharing Subgraphs.
Cloning Subgraphs.
8. Node Component Objects.
Node Component Objects: Attributes.
Node Component Objects: Geometry.
Math Component Objects.
9. View Model.
Why a New Model?.
Separation of Physical and Virtual.
The Objects That Define the View.
ViewPlatform: A Place in the Virtual World.
Generating a View.
A Minimal Environment.
The View Object.
The Screen3D Object.
The Canvas3D Object.
The PhysicalBody Object.
The PhysicalEnvironment Object.
10. Behaviors and Interpolators.
Behavior Object.
Composing Behaviors.
Scheduling.
How Java 3D Performs Execution Culling.
The Behavior API.
Interpolator Behaviors.
Level-of-Detail Behaviors.
Billboard Behavior.
11. Input Devices and Picking.
InputDevice Interface.
Sensors.
Picking.
12. Audio Devices.
AudioDevice Interface.
AudioDevice3D Interface.
Instantiating and Registering a New Device.
13. Execution and Rendering Model.
Three Major Rendering Modes.
Instantiating the Render Loop.
14. Immediate-Mode Rendering.
Two Styles of Immediate-Mode Rendering.
Canvas3D Methods.
API for Immediate Mode.
A. Math Objects.
Tuple Objects.
Matrix Objects.
3D Geometry Compression.
Compression.
Decompression.
Appendix Organization.
Generalized Triangle Strip.
Generalized Triangle Mesh.
Position Representation and Quantization.
Color Representation and Quantization.
Normal Representation and Quantization.
Modified Huffman Encoding.
Compressed Geometry Instructions.
Bit Layout of Compressed Geometry Instructions.
Compressed Geometry Instruction Bit Details.
Semantics of Compressed Geometry Instructions.
Semantics of Vertices.
Outline of Geometry Process.
Compressed Geometry Assembly Syntax.
Compressed Geometry Instruction Verifier.
View Model Details.
An Overview of the Java 3D View Model.
Physical Environments and Their Effects.
The Coordinate Systems.
The ViewPlatform Object.
The View Object.
The Screen3D Object.
The Canvas3D Object.
The PhysicalBody Object.
The PhysicalEnvironment Object.
Viewing in Head-Tracked Environments.
Compatibility Mode.
Exceptions.
BadTransformException.
CapabilityNotSetException.
DanglingReferenceException.
IllegalRenderingStateException.
IllegalSharingException.
MismatchedSizeException.
MultipleParentException.
RestrictedAccessException.
SceneGraphCycleException.
SingularMatrixException.
SoundException.
Equations.
Fog Equations.
Lighting Equations.
Sound Equations.
Texture Mapping Equations.
The Utility Packages.
The Utility Packages.
Package Overview.
audioengines Package.
audioengines.javasound Package.
loaders Package.
loaders.lw3d Package.
loaders.objectfile Package.
utils.applet Package.
utils.behaviors.interpolators Package.
utils.behaviors.keyboard Package.
utils.behaviors.mouse Package.
utils.compression Package.
utils.geometry Package.
utils.image Package.
utils.picking Package.
utils.picking.behaviors Package.
utils.universe Package.
CD-ROM Installation.
What's on the CD-ROM.
Installing the Software on Windows 8/NT Systems.
Installing the Software on Solaris Systems.
Accessing the Documentation from the CD-ROM.
The Example Programs.
Introduction.
Running the Example Programs.
Program Descriptions.
Glossary.
Index. 0201710412T04062001.