Authoring Data In

Developers who want to write an exporter for an authoring tool need to understand the Shockwave 3D§ scenegraph structure and some of the methods it uses to speed scene rendering.

Shockwave 3D Scenegraph Structure

Shockwave 3D is a database that describes a three-dimensional scene. It uses palettes (index tables) to describe the scene's assets (models, lights, motions, and images) and their relationships to each other. These palettes point to resources (data objects), which contain the information specific to an object. Once the scene assets are in the database, new relationships can be created between them. Motion resources can be shared between model resources, for example, or a model may be assigned an arbitrary material property found in the database.

Resource Sharing

It is also important to understand the resource sharing process. When a 3-D scene is viewed, its scene assets must be streamed from the server to a user's browser over a potentially slow Internet connection. Compression of scene assets is one way to speed the process. With 3-D models and animation data, resource sharing, which requires fewer scene assets, is an additional way to reduce download time.

Resource sharing makes the most efficient use of resources possible, requiring that data shared by two scene entities be represented only once in the Shockwave 3D database.

This means that if two objects are textured using the same bitmap, only a single bitmap with both objects pointing to it is needed in the Shockwave 3D database. When a model is "instance-cloned" in an authoring tool, with multiple instances of a model having different material or motion properties, only a single model mesh with all instances pointing to this single mesh is needed in the Shockwave 3D database.

Flattened Hierarchy

To further increase rendering performance, have the exporter reduce the number of meshes in the authoring tool's scenegraph, thus decreasing material state changes. This often means that multiple meshes under a parent node in the authoring tool are rendered as a single mesh in the Shockwave 3D scenegraph. Be sure to document how the original scene hierarchy is flattened to minimize confusion. See Scenegraph Hierarchy Rules for more detail.

A 3D Studio MAX§ pelvis node and children meshes...

...are converted to a single mesh in the Shockwave 3D scenegraph.

 

 

Shockwave 3D Units of Measure

All position data placed into the Shockwave 3D scenegraph should be in units of inches. This includes such data as mesh vertex positions, node positions, and keyframe positions.

 

§See asterisked (*) statement at Legal Information © 2001 Intel Corporation.