Radiance File Format Summary

Also Known As: None


Type Scene description
Colors NA
Compression Uncompressed
Maximum Image Size NA
Multiple Images Per File NA
Numerical Format NA
Originator Greg Ward
Platform All
Supporting Applications Radiance, others
See Also DKB, NFF, POV, PRT, QRT, Rayshade, RTrace

Usage
3D scene description for use by ray-tracing applications and other renderers.

Comments
A well-documented, well-thought-out format.

Vendor specifications are available for this format.

Code fragments are available for this format.


Radiance is a rendering application created by Greg Ward. It implements some of the techniques later lumped under the term radiosity. It is well-regarded and has been widely distributed through the Internet graphics community, although perhaps not as widely distributed as some of the other ray-tracing applications. Radiance and the accompanying documentation have attracted a good deal of interest of late due to increased interest in ray-tracing, radiosity methods, and photorealistic rendering in general.

There are actually two formats associated with the Radiance application: the input (or scene description) format and the output format. The input format is well-documented, carefully conceived, flexible, and extensive. The output is a simple bitmap format.

Contents:
File Organization
File Details
For Further Information

File Organization

The input format consists of a series of ASCII lines implementing the scene description language used by the Radiance application. The output format consists of an ASCII information header terminated by an empty line and followed by the bitmap data.

File Details

The input file consists of a list of surfaces and materials. Surface types include spheres, polygons, cones, and cylinders. Materials can be plastic, metal, glass, and others. Light sources known to the system are distant disks as well as local spheres, disks, and polygons.

This section is adapted from the Radiance documentation.

A scene description file represents a 3D physical environment in Cartesian (rectilinear) world coordinates. It is stored as ASCII text, with the following basic format:

# comment
modifier PM identifier n S1 S2 S3 ... Sn
0
m R1 R2 R3 ... Rm
modifier (alias identifier reference )
! command

A comment line begins with a pound sign (#).

The scene description primitives all have the same general format and can be either surfaces or modifiers. Here are some definitions:

  • A primitive has a modifier, a type, and an identifier.

  • A modifier is either the identifier of a previously defined primitive or "void" (no modifier).

  • An identifier can be any string (i.e., a sequence of non-blank characters).

The arguments associated with a primitive can be strings or real numbers. The first integer following the identifier is the number of string arguments, and it is followed by the arguments themselves (separated by white space). The next integer is the number of integer arguments, followed by the integer arguments themselves. (There are currently no primitives that use them, however.) The next integer is the real argument count and is followed by the real arguments.

An alias gets its type and arguments from a previously defined primitive. This is useful when the same material is used with a different modifier or as a convenient naming mechanism. Surfaces cannot be aliased.

A line beginning with an exclamation point (!) is interpreted as a command. It is executed by the shell, and its output is read as input to the program. The command must not try to read from its standard input, or confusion will result. A command may be continued over multiple lines using a backslash (\) to escape the newline.

Blank space is generally ignored, except as a separator. The exception is the newline character after a command or a comment.

Commands, comments, and primitives may appear in any combination, as long as they are not intermingled.

The following example defines a sphere by specifying its center and radius:

mod sphere id
0
0
4 xcent ycent zcent radius

For other examples, see the CD-ROM.

For Further Information

For further information about the Radiance format, particularly the Radiance parameters and their primitives, see the Radiance specification and other documents. You can also contact the author:

Lawrence Berkeley Laboratory
Attn: Gregory J. Ward
Lighting Systems Research Group
Energy & Environment Division
University of California
Building 90-3111
1 Cyclotron Road
Berkeley, CA 94720
Voice: 510-486-4757
FAX: 510-486-4089
Email: GJWard@lbl.gov

The source code for the Radiance application is maintained at:

ftp://hobbes.lbl.gov/

At that site there are several directories containing files associated with the application:

ftp://hobbes.lbl.gov/pub/models/
ftp://hobbes.lbl.gov/pub/objects/
ftp://hobbes.lbl.gov/pub/pics/

Information is also available via the World Wide Web at:

http://radsite.lbl.gov/radiance/HOME.html


This page is taken from the Encyclopedia of Graphics File Formats and is licensed by O'Reilly under the Creative Common/Attribution license.

More Resources