Radiance (software)

Radiance
Developer(s) Greg Ward
Initial release 1985 (1985)
Stable release 4.2.2 (2014-11-12) [±]
Preview release Non [±]
Written in C
Operating system Unix, Linux, OS X, Windows
License Project-specific open source
Website http://www.radiance-online.org

Radiance is a suite of tools for performing lighting simulation originally written by Greg Ward.[1] It includes a renderer as well as many other tools for measuring the simulated light levels. It uses ray tracing to perform all lighting calculations, accelerated by the use of an octree data structure. It pioneered the concept of high dynamic range imaging, where light levels are (theoretically) open-ended values instead of a decimal proportion of a maximum (e.g. 0.0 to 1.0) or integer fraction of a maximum (0 to 255 / 255). It also implements global illumination using the Monte Carlo method to sample light falling on a point.

Greg Ward started developing Radiance in 1985 while at Lawrence Berkeley National Laboratory. The source code was distributed under a license forbidding further redistribution. In January 2002 Radiance 3.4 was relicensed under a less restrictive license.

One study found Radiance to be the most generally useful software package for architectural lighting simulation. The study also noted that Radiance often serves as the underlying simulation engine for many other packages.[2]

HDR image format

Radiance defined an image format for storing HDR images, now described as RGBE image format. Since it was the first (and for a long time the only) HDR image format, this format is supported by many other software packages.

The file starts with the signature '#?RADIANCE' and then several lines listing the commands used to generate the image. This information allows the renderer rpict to continue a partially completed render (either manually, or using the rad front-end). There are also key=value declarations, including the line 'FORMAT=32-bit_rle_rgbe'.

After this is a blank line signifying the end of the header. A single line describes the resolution and pixel order. As produced by the Radiance tools this always takes the form of '-Y height +X width'. After this line follows the binary pixel data.

Radiance calculates light values as floating point triplets, one each for red, green and blue. But storing a full double precision float for each channel (8 bytes × 3 = 24 bytes) is a burden even for modern systems. Two stages are used to compress the image data. The first scales the three floating point values to share a common 8-bit exponent, taken from the brightest of the three. Each value is then truncated to an 8-bit mantissa (fractional part). The result is four bytes, 32 bits, for each pixel. This results in a 6:1 compression, at the expense of reduced colour fidelity.

The second stage performs run length encoding on the 32-bit pixel values. This has a limited impact on the size of most rendered images, but it is fast and simple.

Filename extension .pic, .hdr, .rgbe, .xyze
Internet media type image/vnd.radiance
Developed by Randolph Fritz, Greg Ward
Initial release 4 March 2009 (2009-03-04)
Type of format Image file formats
Standard http://radsite.lbl.gov/radiance/refer/filefmts.pdf
Open format? open source
Website http://radsite.lbl.gov/radiance/

Scene description format

A radiance scene is made from one or more object files. The .rad format is a simple text file. It can specify individual geometric objects, as well as call programs by starting a line with an exclamation point '!'.[3]

When specifying geometry the first line is

modifier type name

The following three lines contain parameters starting with an integer specifying the number of parameters. The parameters need not be on the same line, they can be continued on multiple lines to aid in readability.

Modifiers create materials and can be chained together, one modifying the next.

For example:

myball.rad

chrome sphere ball
0
0
4       0       0       10
       10

This can then be arrayed in another file using the xform program (described later):

scene.rad

void metal chrome
0
0
5       0.8     0.8     0.8
        0.9     0.0

!xform -a 5 -t 20 0 0 myball.rad

This creates a chrome material and five chrome spheres spaced 20 units apart along the X-axis.

Before a scene can be used, it must be compiled into an octree file ('.oct') using the oconv tool. Most of the rendering tools (see below) use an octree file as input.

Tools

The Radiance suite includes over 50 tools. They were designed for use on Unix and Unix-like systems. Many of the tools act as filters, taking input on standard input and sending the processed result to standard output. These can be used on the Unix command line and piped to a new file, or included in Radiance scene files ('.rad') themselves, as shown above.

Geometry manipulation

Several radiance programs manipulate Radiance scene data by reading from either a specified file or their standard input, and writing to standard output.

Generators

Generators simplify the task of modelling a scene, they create certain types of geometry from supplied parameters.

Geometry converters

Radiance includes a number of programs for converting scene geometry from other formats. These include:

Rendering

Image manipulation and analysis

Integration

References

  1. Luebkeman, Chris; Simondetti, Alvise (June 25–30, 2006), "Practice 2006: Toolkit 2020", Intelligent Computing in Engineering and Architecture: 13th EG-ICE Workshop, Springer, p. 442, ISBN 3540462465.
  2. Geoffrey G. Roy, A Comparative Study of Lighting Simulation Packages Suitable for use in Architectural Design, Murdoch University, October 2000
  3. James D. Murray, William vanRyper (1996-04). "Encyclopedia of Graphics File Formats, Second Edition". O'Reilly. ISBN 1-56592-161-5. Retrieved 2014-02-27. Check date values in: |date= (help)

Sources

This article is issued from Wikipedia - version of the 10/13/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.