Vivid and Bob

Also Known As: None

Type Scene description
Colors NA
Compression No
Maximum Image Size NA
Multiple Images Per File NA
Numerical Format NA
Originator Stephen Coy
Platform All
Supporting Applications Vivid and Bob ray tracers, other ray-trace applications
See Also DKB, NFF, P3D, POV, PRT, QRT, Radiance, Rayshade

Vivid has been widely distributed on the Internet.

You might want to look at these if you're thinking about writing a ray tracer, mainly because the code is available.

Sample images are available for this format.

Vivid and Bob are two separate ray-trace applications originated and maintained by their author, Stephen Coy. They both use proprietary scene-input formats designed by the author. We are not able to include file format specifications for Vivid and Bob on the CD-ROM, although we would like to, because these formats have had a substantial impact on other ray trace formats. About Vivid, Mr. Coy writes:

Vivid's file format is constantly changing, so that anything I could give you would be out-of-date even before you could publish it. In the last year since version 2.0 came out, I've released 18 new test versions covering bug fixes and new features, with several hundred lines of notes and changes to the documentation. Vivid 3.0 will be released within the next couple of months, but until that time there's no single document fully describing the file format as it currently is.

About Bob, he writes:

The Bob file formats are documented in the book Photorealism and Ray Tracing in C, which anyone who is legally using Bob already has.

File Organization and Details
For Further Information

File Organization and Details

We've pulled together what information we have been able to obtain about the Vivid and Bob formats here.

The Vivid input module is case-sensitive, and the system understands a right-hand coordinate system. Colors are expressed as RGB triplets, and each of R, G, and B falls into the range 0 to 1. Certain mathematical operations are available, and are designed for use with both vectors and numerical values. Vector operations include the following:

Scalar multiplication
Dot and cross products

Scalar operations include the following:


The system also supports the following functions:

Square roots

Operator precedence appears to be poorly developed, so liberal use of parentheses in complex expressions is recommended.

Comments are the same as in ANSI C, which means that both

/* a comment */


// a comment

are supported.

Normal files contain what the documentation refers to as a studio description, which consists of the image size, antialiasing state, and viewpoint. This description is followed by definitions of lights, surfaces, and objects. Lights and surface definitions persist until redefined. Objects, as in most systems of this type, are simply geometric descriptions.

The Vivid system is implemented partly through the use of a preprocessor. Some versions of Vivid leave a temporary file, XYZZY.V subsequent to invocation. This appears to be an error in the system, but it may have some utility in debugging. Macros are contained between normal parentheses, and multiline macros, as in the C preprocessor, must have each line terminated with the line continuation character ( \ ).

For Further Information

For further information about the Vivid and Bob file formats, refer to the documentation that comes with the applications. In particular, for Bob, refer to the following book that comes with the system:

Photorealism and Ray Tracing in C

For information about obtaining these applications, contact the author:

Stephen Coy

Copyright © 1996, 1994 O'Reilly & Associates, Inc. All Rights Reserved.

Hosted by uCoz