The Web is headed towards 3D development -- and it's headed there faster than most developers realize! Java 3D Jump-Start delivers a concise, hands-on introduction to Java 3D that lets developers achieve powerful results with surprisingly little coding. Authored by a renowned Web 3D expert, Aaron Walsh, and a member of Sun's Java 3D Engineering Team, Doug Derringer, Java 3D Jump-Start thoroughly demystifies both 3D and the Java 3D API, which many believe will be the #1 solution for delivering 3D on the Web. Java 3D Jump-Start begins with a quick introduction to 3D concepts and terminology; then introduces the Java 3D API, its capabilities, requirements, and current limitations. The authors walk through installing Java 3D; using the API for both applet and application development; distributing Java 3D Web applets; and much more. For all Java developers and Web professionals who are new to Java 3D, or to 3D programming in general.
Table of Contents:
Foreword. Introductory Note. Preface. 1. Java 3D Overview. Digging into Java 3D. Java 3D in Action. Java 3D Design Goals. Digging Deeper: Comparing Java 3D to Other Graphics Options. Java 3D versus Low-Level Rendering APIs. Java 3D versus Other Scene Graph APIs. Java 3D versus Modeling File Formats. Java 3D versus Other Java Media APIs. Hitting Pay Dirt: Exploring Key Java 3D Features. Scene Graph Programming Model. Rendering Control. Java 3D Rendering Model. Scalable Performance. Behaviors. Geometry Compression. Sound. Convenience and Utility Classes. Versatile View Model. Java 3D and the Java Platform. Java 2 JDK, JRE, and the Java Plug-In. Java and Java 3D. Java 3D Packages. Java 3D Documentation. Java 3D Versions. Platform Support. Platform Variations. Java 3D DirectX versus Java 3D OpenGL. Java 3D Resources. Summary. Summary of URLs Found in This Chapter. 2. Scene Graph Basics. Firing Up HelloUniverse. Stepping into a Virtual Universe. Scene Graphs. SceneGraphObjects. Group Nodes. Environment Nodes. The ViewPlatform. The VirtualUniverse and Locale. Exploring the HelloUniverse Scene Graph. Working with the Scene Graph. Scene Graph Interpretation. Making Changes to the Scene Graph. Capability Bits Details. More Optimizations: compile(). Other Scene Graph Operations. Groups. Group Subclasses. BranchGroup. OrderedGroup. SharedGroup. Switch. TransformGroup. Groups in HelloUniverse. Recipe for a Java 3D Program. Summary. 3. Creating and Loading Geometry. Shape3D Nodes. Geometry. GeometryArrays. Geometry Utilities. Text3D. Higher-Level Primitives. ColorCube. Text2D. Utility Shape Primitives. Loading Geometry from Files. The Loader. The Scene. Loading Other File Formats. Java 3D Fly Through. Summary. Summary of URLs Found in This Chapter. 4. Appearances. Appearance Basics. Appearance Attributes. Color Classes. Appearance Methods. Examining Appearance Attributes with Java 3D Explorer. ColoringAttributes. PointAttributes. LineAttributes. PolygonAttributes. RenderingAttributes. TransparencyAttributes. Material. Texture Mapping. Texture. TextureAttributes. Assigning Texture Coordinates. TexCoordGeneration. Multitexturing. Summary. Summary of URLs Found in This Chapter. 5. Environment Nodes. Environment Nodes in the Java 3D Explorer. Bounding Regions. Lighting. Backgrounds. Fog. Sound. Behaviors. Bounding Regions. Summary. Summary of URLs Found in This Chapter. 6. Tools: Transformation, Viewing, and Picking. Transformations. Transformations with Java 3D Explorer. Basic Transformations. Transform3D. Compound Transformations. Hierarchies. Controlling Transforms with Mouse Behaviors. Viewing. Moving the ViewPlatform. Basic Viewing: Finding a Good Vantage Point. Moving the ViewPlatform with the Mouse. Changing the View. Advanced Viewing. Picking. PickTool. PickCanvas. PickResult. PickIntersection. Other Uses for Picking. Summary. Appendix A: Transformation Details. Index.