Designing Your Own Cyberview 3D Documents

Through a special <IMG3D> tag, Cyberview supports the inlining of a variety of 3D image and image map formats; any format which is convertible into Cyberview's native OOGL format may be used. For example, some sites may be configured to support VRML format.

This manual covers Cyberview's default formats, OOGL and WebOOGL.

Designing a 3D Scene (using OOGL)

The default format for 3D scenes is OOGL (with filenames ending in .oogl). OOGL data can be viewed and edited using the Geomview program. You can also use the OOGL.m Mathematica package to generate OOGL.

See the OOGL Tutorial for a nice introduction to the language. A large collection of examples files is available in the Geometry Center's WebOOGL Repository. For advanced users, the OOGL Manual provides a complete reference.

The basic syntax of OOGL is brace-enclosed objects introduced by keywords; for example, a unit square is:

    { QUAD  0 0 0  1 0 0  1 1 0  0 1 0 }
Objects can be grouped into a hierarchy using LIST objects; for example, a compound object consisting of two unit squares 2 units apart is:
    { LIST
        { QUAD  0 0 0  1 0 0  1 1 0  0 1 0 }
        { QUAD  0 0 2  1 0 2  1 1 2  0 1 2 }
    }
Here is a predefined list of OOGL letters and numerals if you need them.

Designing a 3D Image Map (using WebOOGL)

The default format for 3D image maps is WebOOGL (with filenames ending in .weboogl). WebOOGL is an enhancement of OOGL that supports World Wide Web links (URLs). The WebOOGL Home Page is the definitive reference for this enhanced format.

In WebOOGL, a hyperlink object is introduced with the > keyword, and can be placed anywhere that an ordinary object can. When you click on an object in Pick URL mode, Cyberview will activate the ``smallest enclosing hyperlink'' in the object hierarchy (where a hyperlink object is thought of as ``enclosing'' its siblings and all of their descendants).

For example, if in a Web-based game you wanted to link a square tablet to the text written on it, you could say:

    { LIST
        { QUAD  0 0 0  1 0 0  1 1 0  0 1 0 }
        { >     http://my.server/game/tablet.html }
    }

Writing the 3D-HTML File

After you've designed the 3D scenes and image maps that you want inlined into your document, you are ready to make your .3dhtml template file. This template consists of ordinary HTML BODY matter, except that it may also contain special IMG3D directives for inline 3D images and image maps. Don't include a TITLE or other HTML HEAD matter in the template file.

The IMG3D tag has attributes as shown in this example:

    <IMG3D SRC="thing.oogl"
        ALIGN="middle" WIDTH="100" HEIGHT="100">
Only the SRC attribute is required. 3D image maps use the same syntax as 3D images, because the URLs to be activated are already stored in the 3D data.

In general, it is best to gather a .3dhtml file together with all of its inline 3D data files in a single directory. Make sure that the HTTP daemon will have permission to write into this directory. Although Cyberview will not overwrite existing files, it needs to be able to store the files it generates.

Generating the HTML Master Document

Now run the Cyberview 3D Document Generator by firing up a Web browser and loading your server's Cyberview bootstrap document. Enter the name of your template document, relative to the root directory of your WWW server, and press the LOAD button. (If Cyberview has been configured to allow this, you can also load template files from your own public HTML directory, by prefixing the name of the template with /~ and your user name.)

Cyberview will return an interactive 3D document that you can adjust to taste. When you are ready, press the SAVE HTML MASTER button.

Note that, for security reasons, the Cyberview 3D Document Generator will not overwrite existing files. So when you change the .3dhtml file or any of its inline images, you should remove all of the automatically generated files before running Cyberview again.


Cyberview Manual