Java Media APIs: Cross-Platform Imaging, Media, and Visualization presents integrated Java media solutions that demonstrate the best practices for using this diverse collection. According to Sun MicroSystems, "This set of APIs supports the integration of audio and video clips, animated presentations, 2D fonts, graphics, and images, as well as speech input/output and 3D models." By presenting each API in the context of its appropriate use within an integrated media application, the authors both illustrate the potential of the APIs and offer the architectural guidance necessary to build compelling programs.
(NOTE: Each chapter concludes with a Summary.)
1. Visualization, Media, and Imaging on the Java Platform.
3D Modeling and Visualization with Java 3D. The Java Media Framework. Loading and Manipulating Images.
I. 2D GRAPHICS AND IMAGING ON THE JAVA PLATFORM: THE JAVA 2D, JAVA ADVANCED IMAGING, AND JAVA IMAGE I/O APIS.2. Imaging and Graphics on the Java Platform.
Evolution of Graphics and Imaging on the Java Platform. Graphics Versus Imaging. Coordinate Spaces: User Space and Device Space. Finding Out About Device Space. What Is Rendering? Graphics Context. The Basic Recipe for Rendering in Java 2D. Imaging Fundamentals. Java Images: A Raster and a ColorModel. The Immediate Mode Rendering Model. Rendering Independence: The Renderable and Rendered Imaging Layers. The Pull Model. Graphics Capabilities in JAI. Client-Server Imaging. Image I/O.3. Graphics Programming with the Java 2D API.
The Basic Java 2D Recipe. Set the Graphics2D Context…. …and Render Something. Rendering on Components. Shape Primitives. Graphics Stroking. Fill Attributes and Painting. Transparency and Compositing. Text. Clipping. Coordinate Space Transformations. Techniques for Graphical User Input. Double Buffering. Comprehensive Example: Kspace Visualization.4. Immediate Mode Imaging Model.
Push Imaging Model. Pixel Storage and Conversion. Immediate Mode Imaging Model.5. Image I/O API.
Image Formats. Reading and Writing Basics. Service Provider Interfaces. IIOParam Classes. Metadata. Final Plug-in Code. ch5ImageMetadata.6. Java Advanced Imaging.
Introduction. JAI Image Classes. The JAI Class. JAI IO. Advanced Topics. Native Acceleration.
II. TIME-BASED MEDIA: THE JAVA MEDIA FRAMEWORK.7. Time-Based Media and the JMF: An Introduction.
Time-Based Media. Processing Media. Audio Primer. Video Primer. What Is the JMF? Java and Time Based Media: A Short History. Media Formats and Content Types Supported by JMF. Levels of Usage of the JMF API. Programming Paradigms When Using JMF. Structure of the API. Time—A Central Concept. Bare Bones Player Applet—A First Applet Using JMF.8. Controlling and Processing Media with JMF.
Detailed Time Model. The Control and Processing Chains. Managing the Complexity. Its All About Control. Sourcing Media and Media Format. MediaHandler. Playing Media. Conserving Media. PlugIns. Processing Media. Media Capture.9. RTP and Advanced Time-Based Media Topics.
Whats RTP? RTP with the JMF. Extending the JMF. JMFCustomizer. Synchronization. The JMF in Conjunction with Other APIs. Java Sound. Future Directions for the JMF.
III. VISUALIZATION AND VIRTUAL ENVIRONMENTS: THE JAVA 3D API.10. 3D Graphics, Virtual Reality, and Visualization.
What Is 3D? The Java 3D Scene Graph. Inside the Rendering Pipeline. Thread Scheduling. Geometric Modeling. Reducing Unnecessary Rendering Through Culling. Spatial Transformation. The Java 3D View Model. Particle Systems. Texture Mapping. Modeling Light and Shadows. User Interaction in 3D Space. Unjarring the Java 3D Utilities.11. Creating the Virtual World.
Revisiting the Java 3D Scene Graph. Recipe for Writing a Java 3D Application. Organizing the Scene Graph Through BranchGroups. Grouping Scene Graph Elements. Adding Prebuilt Behaviors to the Scene Graph. Capability Bits. Using 3D Geometry. Texture Mapping. Backgrounds. Lighting. Fog. Adding 3D Sound. Vector Math Library. Comprehensive Example #1: MR Physics Visualization. Comprehensive Example #2: Neuronal Spike Visualization.12. Interaction with the Virtual World.
Types of 3D User Interaction. The Behavior Class. Picking. Navigation. Collision Detection and Avoidance. Level of Detail. Using Swing with Java 3D. The BillboardBehavior. Animation Through Interpolators and Alpha Objects. Introduction to Sensors.13. The Java 3D View Model.
The Big Chain of Transforms. Advantages of the Java 3D View Model. Policy Matters. The Most Basic Example. Stereo Viewing. Head Tracking and the Sensor Class. Using Java 3Ds View Model as a Camera Model. Building a CAVE or Wedge with Java 3D.
IV. BRINGING IT ALL TOGETHER: INTEGRATED JAVA MEDIA APPLICATIONS.14. Integrating the Java Media APIs.
Integrated Applications. JMF-J3D Interactions: Prototype for a Streaming 3D Chat Room. ROAM: Java-JAI-J3D Image Tiling Example.Index.