Cosmo 3D Programmer's Guide

Document Number: 007-3445-002

Front Matter

| List of Figures | List of Examples | List of Tables |

Table of Contents

About This Guide
What This Guide Contains
Related Reading
Who Should Read This Guide
What You Should Know Before Reading This Guide
Suggestions for Further Reading
Style Conventions

1. Getting Started with Cosmo 3D
Understanding a Cosmo 3D Scene Graph
Scene Graph Base Classes
Scene Graph Construction Classes
Classes That Determine How Things Are Drawn
Classes defining Geometric Objects
Steps for Creating and Displaying a Simple Scene Graph

2. Creating Geometries
Geometry Terminology
Using Large Geometries
Creating csGeoSet Objects
csGeoSet Attributes
Setting Attributes
Cosmo 3D-Derived csGeoSet Objects

3. Specifying the Appearance of Geometries
csContext Overview
Changing the Context
Using csAppearance
Applying Textures to Geometries
Material Settings
Shade Model Settings
Transparency Settings

4. Scene Graph Nodes
What Is a Node
Leaf Nodes
Group Nodes
Setting the Values in Scene Graph Nodes

5. Building a Scene Graph
Creating Scene Graphs
Diagramming Scene Graphs
Altering Scene Graphs
Loading a VRML Scene Graph
Saving Scene Graphs
Troubleshooting Scene Graph Construction

6. Placing Shapes in a Scene
Creating a Sense of Depth
Transforming Shapes to New Locations, Sizes, and Orientations

7. Traversing the Scene Graph
Scene Graph Actions
The Order In Which Actions Are Passed Between Nodes

8. Lighting and Fog
Using Lights in Scenes
Limiting the Scope of Lights
Using Fog in Scenes

9. Viewing the Scene
Setting the Screen Display of the Scene

10. Scene Graph Engines
Engines that Interpolate Values
Engines That Change Shapes

11. Sensors

12. User Interface Mechanisms
Creating a csWindow
Handling User Input
Selecting Screen Objects
Creating Your Own Window

13. Multiprocessing
Implementing Multiprocessing
Thread Blocking
Multithreaded Example

14. Optimizing Rendering
Face Culling
Back Patch Culling
Culling the View Frustum
Level of Detail Reduced for Performance
Performance Programming Techniques

15. Adding Sounds To Virtual Worlds
How to Play a Sound File
Specifying Audio Files
Playing Sound in Immediate Mode

A. Cosmo Basic Types
Array Storage Class Types
Vector Classes
Bounding Volumes
Field Classes
Other Math Classes

B. Cosmo 3D Sample Application
Cube.cxx Explained
Scene Graph for Cube.cxx

C. Cosmo 3D Class Hierarchy