Core Web 3D (2000)

I. INTRODUCTION. 1. Why Bother? Unveiling Web3D. Everything Changes with Web3D. Bandwidth Limitations. Platform Limitations. Content Authoring-Tool Limitations. Web3D in Action. Product and Data Visualization. eCommerce and Business Applications. Entertainment: Fun and Games. Web Page Enhancement. News and Advertisement Enhancement. Summary. 2. Overview of Web3D. Web3D Consortium. Web3D: A New Generation of 3D. Virtual Reality Modeling Language (VRML). How VRML Came to Be. VRML 1.0. VRML 2.0 and VRML97. Extensible 3D (X3D, Formerly Known as VRML-NG). Java 3D. MPEG-4. Binary Format for Scenes (BIFS). Extending VRML. Summary. 3. Entering the Third Dimension. Wired for 3D. 3D on Canvas. Monocular Depth Cues. 3D on the Computer. Computer 3D Concepts and Jargon. Computer 3D Fundamentals. Summary. II. VIRTUAL REALITY MODELING LANGUAGE. 4. vrml Overview. History. VRML 1.0. VRML 2.0 and VRML97. The Motivation behind Moving Worlds. From Moving Worlds to VRML 2.0. Essential VRML Jargon. VRML Browsers. VRML Plug-ins. Objects, Scenes, and Worlds. VRML Files. Summary. 5. VRML Fundamentals. Scene Graphs. Nodes. Fields. Events. Shapes, Geometry, and Appearance. Primitive Objects. Complex Objects. Text Objects. Coordinate Systems. Summary. 6. Weaving VRMl Into Web Pages. Direct Access. JavaScript Popup Windows. JavaScript vs JScript. FORM Buttons. Window Defaults. Variable Window Settings. Hyperlinks. Embedding VRML into HTML. Compressing VRML Files. Beyond GZip Compression. Sniffers. Related VRML Nodes. WorldInfo. Anchor Node. Viewpoint. NavigationInfo. Summary. 7. Customizing Location, Size, and Orientation. Moving, Scaling, and Rotating. The Transform Node. Coordinate Systems. Scaling and Rotation. Nesting Transform Nodes. Summary. 8. Customizing Color and Texture. Appearance and Material. Material Colors. Textures. Transforming Textures. Summary. 9. Customizing Light, Background, Fog, and Sound. Lights. Calculating Lighting Effects. DirectionalLight. PointLight. SpotLight. Sky, Ground, and Backgrounds. Sky Colors. Ground Colors. Panoramic Background Images. Fog. Sounds. Ambient and Spatialized Sounds. Sound Node. AudioClip Node. MovieTexture Node. Summary. 10. Creating New VRML Worlds. Inlining Files. Nested Inlining. Electronics Showroom. Prototypes. PROTO. EXTERNPROTO. Inlining Prototypes. Visual Development Tools. World Builders. Geometric Modelers. Behavior Modelers. Specialty Tools. Summary. III.: JAVA 3D. 11. Java 3D Overview. Java and Java 3D. Java Programming Required. Java 2 vs Java 1.2. Core Libraries and Extensions. Java 3D Specifications and Implementations. Java 3D Programs. Installing Java 2 and Java 3D. The Java 3D API. Java Media APIs. Java Media Packages and Development Cycles. Java 3D Packages. Design Goals. Version Overview. Straddling the Middle. Java 3D vs Low-level Rendering APIs. Java 3D vs Modeling File Formats. VRML-Java 3D Working Group. Key Java 3D Features. Scene Graph Programming Model. Rendering Control. Scalable Performance. Behaviors. Generic Input Devices. Geometry Compression. Convenience and Utility Classes. Versatile View Model. Camera-based View Model. Summary. 12. Java 3D Fundamentals. Java 3D Scene Graph and API Basics. Scene Graph Basics. Java 3D API Basics. Digging Deeper into Java 3D. Scene Graph Superstructure. SimpleUniverse Utility Class. Branch Graphs. Scene Graph Objects. Scene Graph Viewing Objects. Coordinate System. Creating a Simple Virtual Universe. Implementing HelloUniverse. Running HelloUniverse. Summary. 13. Customizing Size, Location, and Orientation. Introduction. Translation. Rotation. Scaling. Transforms (javax.media.j3d.Transform3D). The TransformGroup Class (javax.media.j3d.TransformGroup). Hierarchies. Representing Rotations. The Transform3D Class. Examples. Loading and Transforming VRML Worlds. The Concept of a Loader. Making a Scene. The VView Application. In the Beginning. Finding a Good Vantagepoint. Making It Move. Summary. 14. Customizing Color and Texture. Appearance and Material. Appearance Bundles. Appearance Attributes. Material. Textures. Texture Coordinates. TextureLoader (com.sun.j3d.utils.image.TextureLoader). Texture (javax.media.j3d.Texture). MIP Mapping. Transforming Textures. Summary. 15. Customizing Background, Fog, Lighting, and Sound. Bounding Regions. Backgrounds. Fog. Lighting. Directional Lights. Point Lights. Spot Lights. Ambient Light. The Complete Lighting Example. Sound. Common Elements. Manipulators. PointSound. ConeSound. BackgroundSound. Summary. IV.: MPEG-4/BIFS. 16. MPEG-4 Overview. What Is MPEG? Fundamental Concepts. MPEG-1: Coding of Moving Pictures and Associated Audio or Digital Storage Media at up to About 1.5 Mbit/s. MPEG-2: Generic Coding of Moving Pictures and Audio. MPEG-4: Coding of Audiovisual Objects. MPEG-4/BIFS. Anatomy of an MPEG-4 Terminal. MPEG-7: Multimedia Content Description Interface. The Future of MPEG-4. Summary. 17. MPEG-4 Binary Format for SceneS (BIFS). Binary Format for Scenes (BIFS). Fundamental Differences with VRML97. New Scene Features and New Nodes. Let's Shrink the Scene... A Crash Course on Quantization. BIFS-Command Protocol. Decoding Scene Graph Elements. Example: Encoding a Simple Scene Step-by-Step. Example 2: Using QuantizationParameter Node. BIFS Commands. Summary. 18. Animating Scenes with BIFS-Anim. The BIFS-Anim Protocol. Decoding the BIFS-Anim Mask. Decoding the BIFS-Anim Frames. Summary. 19. Customizing Vrml For Bifs. Converting VRML Contents to BIFS. Converting from VRML to BIFS. Encoding in BIFS-Commands. Encoding in BIFS-Anim. Customizing VRML Contents. Displaying Multiple Views of a Scene at Once. Adding a 2D Menu Bar. What's Next? Summary. V.: X3D. 20. Why X3D? Size Matters. VRML Lite. The Corporate Soap Opera. In the Right Place at the Wrong Time. Ten Pounds in a Five-Pound Bag. Conformance Concerns. Working with the Web. I Want It NOW! I Hear You Calling. The Real World. Science Marches On. 3D Everywhere. Summary. 21. X3D Overview. Early Beginnings. X3D (VRML-NG) Requirements. What X3D Isn't. Meet the Candidates. Shout Core X3D Proposal. blaxxun Core X3D Proposal. DRaW Computing Core X3D Proposal. newObjectivity Core X3D Proposal. Sony Blendo Proposal. X3D Specification Contribution Proposals. X3D Extension Proposals. NURBS. And the Winner Is... Summary. 22. Weaving X3D into Web Pages. Why Use Markup? What Is XML? Why Create X3DML? X3DML Fundamentals. Introduction to the X3DML Vocabulary. X3DML Document Type Definition (DTD). XML Schemas. Adding X3D/XML to Your Web Page. Namespaces. Document Type Definitions (DTDs) in Detail. What a Document Type Definition Does. What a Document Type Definition Defines. Document Type Declaration. Notation Declaration. Parameter Entity Declaration. Character Declaration. A Longer View. Summary. Appendix A: VRML Browsers. Contact, by blaxxun. Cortona, by ParallelGraphics. Cosmo Player, by Cosmo Software. VRML 2.0 Viewer, by Microsoft. WorldView, by Intervista. Appendix B: VRML Resources. Appendix C: Java 3D Resources. Appendix D: MPEG-4 resources. Appendix E: X3D Resources. Appendix F: Other 3D Technologies for the Web.