You are previewing Java™ Media APIs: Cross-Platform Imaging, Media, and Visualization.
O'Reilly logo
Java™ Media APIs: Cross-Platform Imaging, Media, and Visualization

Book Description

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.

Table of Contents

  1. Copyright
  2. About the Authors
  3. Acknowledgments
  4. Tell Us What You Think!
  5. Visualization, Media, and Imaging on the Java Platform
    1. 3D Modeling and Visualization with Java 3D
    2. The Java Media Framework
    3. Loading and Manipulating Images
    4. Summary
  6. 2D Graphics and Imaging on the Java Platform: The Java 2D, Java Advanced Imaging, and Java Image I/O APIs
    1. Imaging and Graphics on the Java Platform
      1. Evolution of Graphics and Imaging on the Java Platform
      2. Graphics Versus Imaging
      3. Coordinate Spaces: User Space and Device Space
      4. Finding Out About Device Space
      5. What Is Rendering?
      6. Graphics Context
      7. The Basic Recipe for Rendering in Java 2D
      8. Imaging Fundamentals
      9. Java Images: A Raster and a ColorModel
      10. The Immediate Mode Rendering Model
      11. Rendering Independence: The Renderable and Rendered Imaging Layers
      12. The Pull Model
      13. Graphics Capabilities in JAI
      14. Client-Server Imaging
      15. Image I/O
      16. Summary
    2. Graphics Programming with the Java 2D API
      1. The Basic Java 2D Recipe
      2. Set the Graphics2D Context…
      3. …and Render Something
      4. Rendering on Components
      5. Shape Primitives
      6. Graphics Stroking
      7. Fill Attributes and Painting
      8. Transparency and Compositing
      9. Text
      10. Clipping
      11. Coordinate Space Transformations
      12. Techniques for Graphical User Input
      13. Double Buffering
      14. Comprehensive Example: Kspace Visualization
      15. Summary
    3. Immediate Mode Imaging Model
      1. Push Imaging Model
      2. Pixel Storage and Conversion
      3. Immediate Mode Imaging Model
      4. Summary
    4. Image I/O API
      1. Image Formats
      2. Reading and Writing Basics
      3. Service Provider Interfaces
      4. IIOParam Classes
      5. Metadata
      6. Final Plug-in Code
      7. ch5ImageMetadata
      8. Summary
    5. Java Advanced Imaging
      1. Introduction
      2. JAI Image Classes
      3. The JAI Class
      4. JAI IO
      5. Advanced Topics
      6. Native Acceleration
      7. Summary
  7. Time-Based Media: The Java Media Framework
    1. Time-Based Media and the JMF: An Introduction
      1. Time-Based Media
      2. Processing Media
      3. Audio Primer
      4. Video Primer
      5. What Is the JMF?
      6. Java and Time Based Media: A Short History
      7. Media Formats and Content Types Supported by JMF
      8. Levels of Usage of the JMF API
      9. Programming Paradigms When Using JMF
      10. Structure of the API
      11. Time—A Central Concept
      12. Bare Bones Player Applet—A First Applet Using JMF
      13. Summary
    2. Controlling and Processing Media with JMF
      1. Detailed Time Model
      2. The Control and Processing Chains
      3. Managing the Complexity
      4. It's All About Control
      5. Sourcing Media and Media Format
      6. MediaHandler
      7. Playing Media
      8. Conserving Media
      9. PlugIns
      10. Processing Media
      11. Media Capture
      12. Summary
    3. RTP and Advanced Time-Based Media Topics
      1. What's RTP?
      2. RTP with the JMF
      3. Extending the JMF
      4. JMFCustomizer
      5. Synchronization
      6. The JMF in Conjunction with Other APIs
      7. Java Sound
      8. Future Directions for the JMF
      9. Summary
  8. Visualization and Virtual Environments: The Java 3D API
    1. 3D Graphics, Virtual Reality, and Visualization
      1. What Is 3D?
      2. The Java 3D Scene Graph
      3. Inside the Rendering Pipeline
      4. Thread Scheduling
      5. Geometric Modeling
      6. Reducing Unnecessary Rendering Through Culling
      7. Spatial Transformation
      8. The Java 3D View Model
      9. Particle Systems
      10. Texture Mapping
      11. Modeling Light and Shadows
      12. User Interaction in 3D Space
      13. Unjarring the Java 3D Utilities
      14. Summary
    2. Creating the Virtual World
      1. Revisiting the Java 3D Scene Graph
      2. Recipe for Writing a Java 3D Application
      3. Organizing the Scene Graph Through BranchGroups
      4. Grouping Scene Graph Elements
      5. Adding Prebuilt Behaviors to the Scene Graph
      6. Capability Bits
      7. Using 3D Geometry
      8. Texture Mapping
      9. Backgrounds
      10. Lighting
      11. Fog
      12. Adding 3D Sound
      13. Vector Math Library
      14. Comprehensive Example #1: MR Physics Visualization
      15. Comprehensive Example #2: Neuronal Spike Visualization
      16. Summary
    3. Interaction with the Virtual World
      1. Types of 3D User Interaction
      2. The Behavior Class
      3. Picking
      4. Navigation
      5. Collision Detection and Avoidance
      6. Level of Detail
      7. Using Swing with Java 3D
      8. The BillboardBehavior
      9. Animation Through Interpolators and Alpha Objects
      10. Introduction to Sensors
    4. The Java 3D View Model
      1. The Big Chain of Transforms
      2. Advantages of the Java 3D View Model
      3. Policy Matters
      4. The Most Basic Example
      5. Stereo Viewing
      6. Head Tracking and the Sensor Class
      7. Using Java 3D's View Model as a Camera Model
      8. Building a CAVE or Wedge with Java 3D
      9. Summary
  9. Bringing It All Together: Integrated Java Media Applications
    1. Integrating the Java Media APIs
      1. Integrated Applications
      2. JMF-J3D Interactions: Prototype for a Streaming 3D Chat Room
      3. ROAM: Java-JAI-J3D Image Tiling Example
      4. Summary
  10. Index