Lighting Simulation with Radiance

When I wanted to design a log home on my
computer to see what it would look like under actual lighting
conditions, I tried AutoCAD, 3D Studio Max and numerous
off-the-shelf home design packages. None of them provided the
realistic output or easy support for dealing with the log walls I
desired. I had been playing with a lighting simulation package from
the Lawrence Berkeley National Laboratory (LBL) known as Radiance
and decided I could get what I wanted much faster by adding
utilities to it.

So What Is Radiance?

Radiance is a physical lighting simulation system written
primarily by Greg Ward Larson. It has been around since the early
1990s and recently changed licensing from a
free-for-noncommercial-use license to the open-source model. The
package produces great-looking images that are output in a special
format that records both the texture and physical lighting of a
scene, much like the professional products LightScape and VIZ 4 by
Autodesk.

The packages used for movie and game making are really the
graphics equivalent of junk food factories. The end result may be
attractive and popular, but it isn't substantial. The physical
details of lighting simply aren't as important as speed to movie
and game makers, because they have a lot of pixels to push. A
two-hour movie has 172,800 individual frames, and games have to run
in real time. As a result, light becomes an artifact of an artistic
algorithm in most graphics systems and has little basis in
reality.

Radiance output is considered a lab-quality simulation of the
physics of light (as long as your input is realistic) and has been
rigorously tested in the professional world.

Installing Radiance

You can obtain the Radiance source code from
radsite.lbl.gov. I
recommend getting the source tarball, as the compiled RPMs do not
include any of the auxiliary files. Once you have the
tarball:

$ tar xzf rad3R4.tar.gz
$ cd ray
$ ./makeall install

Then, simply answer the questions about where you want to put
the software. I use $HOME/radiance/bin for the binaries and
$HOME/radiance/lib for the auxiliaries.

The makeall script doesn't install the sample scenes or the
documentation, so you have to move those files to a good spot also.
For example:

$ mv doc/man $HOME/radiance
$ mv obj $HOME/radiance

Be sure to add these things to the MANPATH and PATH variables
in your profile. One caveat: there is an important utility called
rview in the package. Unfortunately, Vim also has a utility of the
same name, so use a PATH modification or rename Vim's rview. Do
not rename the Radiance utility, because it is
called indirectly by other Radiance utilities.

Radiance Input Basics

New users of Radiance first will notice the lack of an
included CAD system for generating the scene description. The
package was written for research purposes under UNIX in the early
1990s, and if you look at the file formats, it is obvious they were
written for command-line junkies like myself who love the power of
pipes and plain-text processing (my own initials are AWK, after
all).

Nevertheless, there are utilities for translating geometry
from formats like DXF, Wavefront and MGF so you can use any utility
that will output such a format. Many of the modelers listed in the
application archive of
linux.org will output one
of these. A Windows-based AutoCAD/Radiance module called Desktop
Radiance is also available from the Radiance web site if you happen
to own a compatible version of AutoCAD.

The input files of Radiance are human readable, which makes
them good candidates for script generation. However, be warned:
occasional terms in the documentation will cause accelerated heart
rates in passing physicists, such as “watt per square meter per
steradian”. Be sure to check out all the documentation on the web
site. If you decide to do more than play, you might want to track
down a copy of Rendering With Radiance by Greg
Ward Larson, et al. It is currently out of print, so check with
used book dealers.

Rolling Your Own—A Sample Scene

Listing 1 is a scene that includes sky and ground, the
material for brass and a sphere with the brass material applied.
The sky and ground are standard. The only thing you need to edit
for your own scenes are the options to gensky. The values in the
listing correspond to noon on November 25 at 33° latitude north
and 80° longitude west. Use negative numbers for south and
east.

Each item in the scene description has the same format. The
first line declares an existing material that will be applied to
the entry (or void if that doesn't apply), a type name for a
material or geometric primitive (like sphere, polygon, plastic or
metal) and a user-defined name. The next three groups are the
string, integer and real (floating point) parameters for the entry.
Each of these starts with an argument count, followed by the actual
arguments. They can be spread over as many lines as
necessary.

Most entries have only real parameters. This explains the two
zeros in the middle of most of the entries; they have no string or
integer parameters. The 5 in the last line of brass indicates five
real parameters, and the 4 in the last line of the sphere indicates
four real parameters. The parameters are straightforward. For
example, a sphere needs a center (x, y, z) and a radius.

Materials can be the hardest part of a scene. It is easiest
to start by copying existing materials and modifying them to your
needs. Read refman.pdf from the web site for more details.

The gensky line at the top of Listing 1 is an embedded
command-line utility. Placing an exclamation point at the beginning
of a line in a Radiance scene tells the system to run the line as a
shell command and use the output as part of the scene. Radiance
comes with a number of these utilities, and I've found that writing
your own can make scene generation quick and easy.

POVRAY doesn't do a physical simulation. If you want to take "light meter" readings from the image that would be the same as what you would get in the real world, then you've got to use something that simulates the physics...read the intro to the article again :)

I fail to understand how it can be physically accurate with out taking into consideration the material bounce etc. From the image it seems that we are dealling with super smooth and super clean surfaces...so it may be accurate for the scene data...with more info in the scene the physical simulation seems flawed.

Not if real world data were used. You can achieve highly accurate results with Radiosity which ships free with 3ds max 5. And 3rd party renderers can achieve even better results. I have a hard time believing that the author actually tried ACAD, max or numerous other off the shelf packages seriously.

Does 3DMax or any other renderer actually work with Lux, Lumens or other real world lighting units? Can you create a model, then actually build it and compare measured light levels of both? I've never seen any of those renderes produce such predictions. The packages are in different arenas. You'd never produce a film with 5 hour (minimum) render times. On the other hand, if you are designing an art gallery, you want to know the precise light levels before you spend millions to build it. Radiance will do this. I'm new to Radiance, and not a lighting designer, but these images show the measurable results that can be predicted.

If you read paragraph two of the article, the author clearly states that Radiance is LIKE several off-the-shelf programs that do physically accurate simulations (but I doubt any others are free). He never claimed that Radiance was the only capable package.

In para three he says that the animation packages like 3DS are not interested in doing lab quality simulations, they are interested in making pictures, which is true.

"The package produces great-looking images that are output in a special format that records both the texture and physical lighting of a scene, much like the professional products LightScape and VIZ 4 by Autodesk."

An improved version of the LightScape and Viz 4 Rendering enginge ships standard with 3DS max 5. True, animation programs sell mainly to people wanting to make pretty pictures, but lighting simulations are not difficult with max 5 and they are accurate.

"None of them provided the realistic output or easy support for dealing with the log walls I desired."

Also a questionable statement considering his logs are perfect cylanders... is the author suggesting that the above packages can't handle cylanders well?

Thought I'd take a minute and respond to some of the feedback. Thanks for the interest everyone!

I started doing my log home projects back in 1997/8, which is when I tried out 3DS, ACAD, and a few other modelling systems. Actually, I already knew that I wanted to use Radiance for the rendering, because I was wanting to do lighting design, and it was the only free package that would do it (and still is). It also has so many cool features for materials and lights that deal with light in a realistic fashion that it was fun to play with.

As far as commercial stuff goes, the plugins for ACAD made it pretty easy to export geometry to Radiance, but I did find that generating all the cylinders by hand was pretty time consuming. All of the modellers supported cylinders (well, 3DS didn't at the time, it used polygons to approximate, but that is neither here nor there). My comment on ease of use in the article had to do with going from a floor plan to a finished wall with proper holes for windows and doors. It was simply not easy to manually make each blessed log by hand, size it, and position it. With MAXScript, or Maya's MEL it would have been possible to make a script that would have done what my Perl scripts ended up doing, but in the end, it was just so fast and easy to be able to plop one text line in a file, with a few short hole descriptions and have a hole mess of properly sized and positioned cylinders in my scene. Try making a 50 foot log wall with three windows and two doors in any of your GUI packages in 45 seconds. Just can't be done without writing SOME kind of extra code. So, I'm not saying they CAN'T do it. I'm saying that a little Perl code happened to be the quickest and cheapest route for me. YMMV

In terms of accuracy. Many commercial packages do an excellent job now. How much do they cost? More than Radiance. Are they open source? No. Are they easier to use? Yes, for the most part (I like being able to write utilities to dump geometry in Perl, but I'm wierd). Are they faster? Most of the time. They are commercial products with large development budgets. They are aimed at industry users. I am not an industry user with big pockets. The commercial products that I tried for modelling (3DS Max, ACAD, Maya, Rhino), except for ACAD, were all evaluation copies that I had limited time with. Some of the other commercial products to which I was referring were "3D Home Design" and such $50 packages...no competition at all.

So, if you are a commercial developer, where time is more costly that software, by all means use the excellent commercial lighting packages. If you're a hobbiest like me, save the money and have some fun with Radiance.

take a look to a plugin for 3dmax called lightstudio..i cecked it has a real structure radiance i mean bin..lib etc..
I cecked Rayfront too is good and work with bin file of Radiance..but those r not free, if u wont a free gui for Radiance on win u could find Conrad..i dont know if it still online!!!!it work with bin file of Radiance desktop other plugin for autocad 2000
There r lots other prog working with radiance...Dialux .......
Im looking for smart people interested on cecking lighting simulation sistems...
I worked an linux with Radiance...damn very hard time!!!!
Worked on shell compiling manually...rview..rpict..oconv...too slow!!
Some gui are interesting u can find it on Radiance mainsite..but those dont work so well...
Any of u know Blender???...yes it work on win but on Linux too it is free on i suppose opensource too...some Good people r working on a development of Radinance on Blender...http://www.dream.unipa.it/dream/pub/dot/anselmo/radiance/06.php...take a look....!!!!
If noone of those way is for u u can compile a your on pyton!!!
TOSH

is this guy serious? his renderings looked like plastic dipped in pure RGB paint. if this is what physically accurate lighting will do to my renderings. . . i might as well use notepad to render them. AWK! ACK!

Radiance allows you to do physical simulation. You can actually ask for the light levels from at every point in the picture (i.e., like using a camera light meter in the real world). Important for lighting design.

If you want really nice materials, spend a couple of extra days making pretty materials, then play with fake lights to stage it up...then go get a job at Pixar, where they make pretty pictures for entertainment.

If you want to do quick mock-ups of something you really want to build, and want to know how the lighting is going to be for, say, reading in that room, or hanging art work, then use a simulation.

I work in lighting design, has anyone here considered Dialux?? free download, professional lighting tool, accurate output in a multitude of formats, plugin's downloadable from most major lighting manufacturers, accurate daylight calc's

If you run linux, the only way I've found to get Dialux rolling is with virtualbox ose running XP within linux. It runs faster than under a standard XP instal but I cannot make directx work in my virtual machine so i'm stuck with crappy looking opengl while modeling.

P.S. If you use Dialux, you can send renders straight to pov-ray from the dialux GUI to produce fantastic presentation quality images that are acurate - though I would only ever take figures from within dialux or relux - not apretty picture, no matter what kind of black magic created it!!

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.