ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/doc/notes/secsrc.note
Revision: 1.1
Committed: Sat Mar 15 17:32:55 2003 UTC (21 years, 1 month ago) by greg
Branch: MAIN
CVS Tags: rad5R4, rad5R2, rad4R2P2, rad5R0, rad5R1, rad3R7P2, rad3R7P1, rad4R2, rad4R1, rad4R0, rad3R5, rad3R6, rad3R6P1, rad3R8, rad3R9, rad4R2P1, rad5R3, HEAD
Log Message:
Added and updated documentation for 3.5 release

File Contents

# User Rev Content
1 greg 1.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.