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