| 1 |
Virtual Light Sources
|
| 2 |
in Radiance
|
| 3 |
|
| 4 |
Radiance now supports virtual light sources in planar surfaces such as
|
| 5 |
mirrors. The method of virtual sources is used to create the appearance
|
| 6 |
of a new source in a virtual world on the other side of the transferring
|
| 7 |
surface, or "relay object." Shadow rays are then sent to these virtual
|
| 8 |
sources along with the regular sources, testing not only for occlusion
|
| 9 |
but also for the geometric boundaries of the virtual source path.
|
| 10 |
This is necessary to yield the correct light patch shape.
|
| 11 |
|
| 12 |
The method used for specifying virtual sources in Radiance is quite
|
| 13 |
simple. Certain materials possess the "virtual source" attribute.
|
| 14 |
When such a material modifies a planar surface, virtual light
|
| 15 |
sources are created. It is an error to use a virtual source material
|
| 16 |
on a non-planar surface such as a sphere. Currently, the materials
|
| 17 |
"mirror," "prism1" and "prism2" have the virtual light source attribute.
|
| 18 |
|
| 19 |
If multiple facing mirrors appear in a scene, the number of virtual
|
| 20 |
sources can multiply quite rapidly. We therefore introduce a limit to
|
| 21 |
the number of virtual source "relays" allowed, with the rendering
|
| 22 |
option -dr. A setting of -dr 0 means that virtual sources will not
|
| 23 |
be considered at all. Another technique that can limit the growth of
|
| 24 |
virtual sources is called "virtual source presampling," which is
|
| 25 |
controlled with the -dp option. Presampling tests a virtual source
|
| 26 |
for visibility before adding it to the calculation, thus avoiding the
|
| 27 |
inclusion of virtual sources that would never appear and the shadow
|
| 28 |
testing of virtual sources that are never occluded. A presampling
|
| 29 |
density of -dp 0 means that all virtual sources will be included and
|
| 30 |
fully tested for shadows. This is potentially much more expensive, but it
|
| 31 |
is the only way to guarantee absolute shadow accuracy at any resolution.
|
| 32 |
|
| 33 |
Even without presampling, Radiance performs many checks of virtual
|
| 34 |
sources before including them in the calculation. In addition to the
|
| 35 |
obvious tests to insure that a source is on the correct side of the
|
| 36 |
relay object, facing the proper direction and so on, Radiance also
|
| 37 |
computes the solid angle that corresponds to the maximum influence of
|
| 38 |
each virtual source. This greatly speeds up the direct calculation by
|
| 39 |
avoiding virtual source shadow tests that could not possibly pay off.
|
| 40 |
|
| 41 |
Nevertheless, virtual light sources can be quite costly, especially if
|
| 42 |
there are many mirror surfaces that see each other. Presampling avoids
|
| 43 |
most of the costs associated with fruitless testing, but in scenes with
|
| 44 |
mutual reflections, there may still be hundreds or even thousands of
|
| 45 |
virtual light sources created. Even with the solid angle limits, each
|
| 46 |
virtual source must be considered at least briefly before it is rejected.
|
| 47 |
It is therefore very important for efficiency to minimize the number of
|
| 48 |
mirror surfaces in a scene as much as possible. In particular, do not
|
| 49 |
make relay objects from many small mirror elements. Such elements should
|
| 50 |
be consolidated into the largest polygons possible.
|