Also Known As: None
|Maximum Image Size
|Multiple Images Per File
|Vivid and Bob ray tracers, other ray-trace applications
|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
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:
|Dot and cross products
Scalar operations include the following:
The system also supports the following functions:
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
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 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:
Copyright © 1996, 1994 O'Reilly & Associates, Inc. All Rights Reserved.