Lighting Simulation with Radiance

Go from a sketch to a rendered scene in a matter of hours.

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.

Listing 1. Sample Input Scene for Radiance

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.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Any luck with Gentoo?

Anonymous's picture

No go at getting this to compile with gentoo.

Re: Lighting Simulation with Radiance

Anonymous's picture

I'm curious if you considered using POVRAY or other rendering programs and if so what criteria led you choose to use Radiance. -- paul

Re: Lighting Simulation with Radiance

Anonymous's picture

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 :)

Re: Lighting Simulation with Radiance

Anonymous's picture

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.

Re: Lighting Simulation with Radiance

Anonymous's picture

Five hours - whoa! 3DSMax with mental ray or some other radiosity plugin would have done it in one

Re: Lighting Simulation with Radiance

Anonymous's picture

... and would be physically inaccurate.

Re: Lighting Simulation with Radiance

Anonymous's picture

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.

Re: Lighting Simulation with Radiance

Anonymous's picture

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.

Re: Lighting Simulation with Radiance

Anonymous's picture

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.

Re: Lighting Simulation with Radiance

Anonymous's picture

"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?

Re: Lighting Simulation with Radiance

awkay's picture

Hey, author here.

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.

- Tony

Re: Lighting Simulation with Radiance

Anonymous's picture

Mhmmm nice i never have heard of pov ray before
THANX GUYZ

take a look to a plugin for 3

Tosh's picture

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

Anonymous's picture

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!

It's a simulation, not a pretty picture maker!

Anonymous's picture

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.

Dialux

Anonymous's picture

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

I believe the phrase is 'a no-brainer'

Tutorials

ming's picture

Are there any tutorials to teach you how to use the more advanced features of dialux? Ive tried googling it but there are none.

Do you have a Dialux version

Anonymous's picture

Do you have a Dialux version that runs in Linux? Where can i download it?

Dialux on a Linux box

Anonymous's picture

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!!

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState