| |
| |
| Preface | |
| |
| |
| |
| Virtual Reality and Java 3D | |
| |
| |
| Introduction | |
| |
| |
| Interactive 3D Computer Graphics | |
| |
| |
| Virtual Reality | |
| |
| |
| Web-Based Virtual Reality | |
| |
| |
| VRML | |
| |
| |
| Java 3D | |
| |
| |
| Mixed Reality | |
| |
| |
| Summary | |
| |
| |
| References | |
| |
| |
| |
| Java 3D Overview | |
| |
| |
| Introduction | |
| |
| |
| Getting Started | |
| |
| |
| A Simple Java 3D Program for a RotatingCube | |
| |
| |
| Scene Graph Basics | |
| |
| |
| Scene Graph for the RotatingCube | |
| |
| |
| View Branch for the RotatingCube | |
| |
| |
| Content Branch for the RotatingCube | |
| |
| |
| Branch Group | |
| |
| |
| Transform Group | |
| |
| |
| Simple Universe | |
| |
| |
| Difference Between Java 3D Applet and Application | |
| |
| |
| Summary | |
| |
| |
| References | |
| |
| |
| |
| Geometry Objects | |
| |
| |
| Introduction | |
| |
| |
| Shape3D | |
| |
| |
| GeometryArray Class | |
| |
| |
| GeometryStripArray | |
| |
| |
| IndexedGeometryArray | |
| |
| |
| IndexedStripArray | |
| |
| |
| Creating an Object Using Multiple Geometry Classes | |
| |
| |
| Utility Class | |
| |
| |
| Summary | |
| |
| |
| References | |
| |
| |
| |
| Appearance Objects | |
| |
| |
| Introduction | |
| |
| |
| PointAttributes | |
| |
| |
| LineAttributes | |
| |
| |
| PolygonAttributes | |
| |
| |
| ColoringAttributes | |
| |
| |
| TransparencyAttributes | |
| |
| |
| RenderingAttributes | |
| |
| |
| Material | |
| |
| |
| Summary | |
| |
| |
| References | |
| |
| |
| |
| Textures | |
| |
| |
| Introduction | |
| |
| |
| Texture Loading | |
| |
| |
| Texture Coordinates | |
| |
| |
| Texture Properties | |
| |
| |
| Texture Attributes | |
| |
| |
| Texture Coordinate Generation | |
| |
| |
| Multilevel Texturing | |
| |
| |
| MultiTexture | |
| |
| |
| Texture in Applets | |
| |
| |
| Summary | |
| |
| |
| References | |
| |
| |
| |
| Lighting, Fog, and Background | |
| |
| |
| Introduction | |
| |
| |
| Material | |
| |
| |
| Ambient Light | |
| |
| |
| Directional Light | |
| |
| |
| Point Light | |
| |
| |
| Spot Light or Cone Light | |
| |
| |
| Light Scopes | |
| |
| |
| Fog | |
| |
| |
| Background | |
| |
| |
| Summary | |
| |
| |
| References | |
| |
| |
| |
| Animation Objects | |
| |
| |
| Introduction | |
| |
| |
| Behavior and Animation | |
| |
| |
| Alpha Object | |
| |
| |
| Interpolator Object | |
| |
| |
| PositionInterpolator | |
| |
| |
| PositionPathInterpolator | |
| |
| |
| RotationInterpolator | |
| |
| |
| RotationPathInterpolator | |
| |
| |
| RotPosPathInterpolator | |
| |
| |
| ScaleInterpolator | |
| |
| |
| RotPosScalePathInterpolator | |
| |
| |
| SwitchValueInterpolator | |
| |
| |
| TransparencyInterpolator | |
| |
| |
| ColorInterpolator | |
| |
| |
| Billboard | |
| |
| |
| Level of Detail (LOD) | |
| |
| |
| Morph | |
| |
| |
| Summary | |
| |
| |
| References | |
| |
| |
| |
| Interaction | |
| |
| |
| Introduction | |
| |
| |
| Behavior Class | |
| |
| |
| Bounding Region | |
| |
| |
| Wakeup Condition and Criterion | |
| |
| |
| Keyboard and Mouse Events | |
| |
| |
| Posted Events | |
| |
| |
| Collision Events | |
| |
| |
| Elapsed Time and Frame Events | |
| |
| |
| Events due to Changes in Positions and Transforms | |
| |
| |
| Platform Entry and Exit Events | |
| |
| |
| Sensor Entry and Exit Events | |
| |
| |
| Combining Different Wakeup Criteria | |
| |
| |
| Summary | |
| |
| |
| References | |
| |
| |
| |
| Picking | |
| |
| |
| Introduction | |
| |
| |
| PickRotateBehavior, PickTranslateBehavior, and PickZoomBehavior | |
| |
| |
| Picking Classes in General | |
| |
| |
| Customizing Picking Behavior Class | |
| |
| |
| PickTool | |
| |
| |
| Point and Ray Picking Shape | |
| |
| |
| Ray Segment Picking Shape | |
| |
| |
| Cone Picking Shape | |
| |
| |
| Cylinder Picking Shape | |
| |
| |
| Picking Objects within a Specified Bound from a Certain Position | |
| |
| |
| Picking in a Virtual Instrument Panel | |
| |
| |
| Summary | |
| |
| |
| References | |
| |
| |
| |
| Navigation, Input Devices, and Collision | |
| |
| |
| Introduction | |
| |
| |
| Keyboard Navigation Using KeyBoardBehavior | |
| |
| |
| User Defined Keyboard Navigation | |
| |
| |
| Navigation Using Mouse Utility Class | |
| |
| |
| User-Defined Mouse Navigation | |
| |
| |
| Input Device | |
| |
| |
| Sensors | |
| |
| |
| Collisions | |
| |
| |
| Summary | |
| |
| |
| References | |
| |
| |
| |
| Multiple Views | |
| |
| |
| Introduction | |
| |
| |
| View Model | |
| |
| |
| Single View | |
| |
| |
| Multiple Views | |
| |
| |
| View Attach Policy and Activation Radius | |
| |
| |
| Projection Policy | |
| |
| |
| Clip Distance | |
| |
| |
| Window Eyepoint Policy and Field of View | |
| |
| |
| Conventional Camera-Based View | |
| |
| |
| Visibility, Screen Scale, Window Movement, and Frame Cycle Time | |
| |
| |
| Canvas3D | |
| |
| |
| PhysicalBody and PhysicalEnvironment | |
| |
| |
| Example Applications | |
| |
| |
| Summary | |
| |
| |
| References | |
| |
| |
| |
| Audio | |
| |
| |
| Introduction | |
| |
| |
| BackgroundSound | |
| |
| |
| PointSound | |
| |
| |
| ConeSound | |
| |
| |
| Aural Environment | |
| |
| |
| Summary | |
| |
| |
| References | |
| |
| |
| |
| A Web-Based 3D Real Time Oscilloscope Experiment | |
| |
| |
| Introduction | |
| |
| |
| System Reference Model and Working Principle | |
| |
| |
| Scene Graph and Main Applet | |
| |
| |
| Control Buttons, Sliders, Knobs, and Other Objects | |
| |
| |
| Custom Behavior | |
| |
| |
| Navigation Behavior | |
| |
| |
| Collision Detection Behavior | |
| |
| |
| Picking Behavior | |
| |
| |
| Summary | |
| |
| |
| References | |
| |
| |
| |
| Downloading Software | |
| |
| |
| |
| Running the Rotating Cube Program | |
| |
| |
| |
| ViewManager | |
| |
| |
| |
| Main Applet for Web-Based 3D Experiment | |
| |
| |
| |
| Scene Graph Implementation for Web-Based 3D Experiment | |
| |
| |
| |
| Knob Class for Web-Based 3D Experiment | |
| |
| |
| |
| Navigation and Collision Detection for Web-Based 3D Experiment | |
| |
| |
| |
| Picking for Web-Based 3D Experiment | |
| |
| |
| |
| Program Summary and Screen Capture | |
| |
| |
| About the Authors | |
| |
| |
| Index | |