11 |
|
] |
12 |
|
.B "{ sender.rad | - }" |
13 |
|
.B receivers.rad |
14 |
< |
.B "[ scene.rad .. ]" |
14 |
> |
.B "[ -i system.oct ]" |
15 |
> |
.B "[ system.rad .. ]" |
16 |
|
.SH DESCRIPTION |
17 |
|
.I Rfluxmtx |
18 |
|
samples rays uniformly over the surface given in |
20 |
|
and records rays arriving at surfaces in the file |
21 |
|
.I receivers.rad, |
22 |
|
producing a flux transfer matrix per receiver. |
23 |
< |
Additional scene surfaces are given in optional |
24 |
< |
.I scene.rad |
25 |
< |
files, which are compiled with the receivers into an octree sent to the |
23 |
> |
A system octree to which the receivers will be appended may be given with a |
24 |
> |
.I \-i |
25 |
> |
option following the receiver file. |
26 |
> |
Additional system surfaces may be given in one or more |
27 |
> |
.I system.rad |
28 |
> |
files, which are compiled before the receiver file into an octree sent to the |
29 |
|
.I rcontrib(1) |
30 |
|
program to do the actual work. |
31 |
|
If a single hyphen ('-') is given in place of the sender file, then |
72 |
|
.SH VARIABLES |
73 |
|
The sender and receiver scene files given to |
74 |
|
.I rfluxmtx |
75 |
< |
contain controlling parameters in specal comments of the form: |
75 |
> |
contain controlling parameters in special comments of the form: |
76 |
|
.nf |
77 |
|
|
78 |
|
#@rfluxmtx variable=value .. |
85 |
|
.BI h =u |
86 |
|
Set hemisphere sampling to "uniform," meaning a single bin |
87 |
|
of (cosine-distributed) samples. |
88 |
< |
In the case of distant "source" primatives, this is the only |
88 |
> |
In the case of distant "source" primitives, this is the only |
89 |
|
sampling method that supports arbitrary receiver sizes. |
90 |
|
The other methods below require a full hemispherical source. |
91 |
|
.TP |
92 |
|
.BI h =kf |
93 |
|
Divide the hemisphere using the LBNL/Klems "full" sampling basis. |
94 |
+ |
(Use "h=-kf" for left-handed coordinates.) |
95 |
|
.TP |
96 |
|
.BI h =kh |
97 |
|
Divide the hemisphere using the LBNL/Klems "half" sampling basis. |
98 |
+ |
(Use "h=-kh" for left-handed coordinates.) |
99 |
|
.TP |
100 |
|
.BI h =kq |
101 |
|
Divide the hemisphere using the LBNL/Klems "quarter" sampling basis. |
102 |
+ |
(Use "h=-kq" for left-handed coordinates.) |
103 |
|
.TP |
104 |
|
.BI h =rN |
105 |
|
Divide the hemisphere using Reinhart's substructuring of the Tregenza |
109 |
|
If it is not given, |
110 |
|
.I N |
111 |
|
defaults to 1, which is just the Tregenza sky. |
112 |
+ |
(Use "h=-rN" for left-handed coordinates.) |
113 |
|
.TP |
114 |
+ |
.BI h =cie |
115 |
+ |
Divide the hemisphere into CIE sky scanner directions, which is |
116 |
+ |
similar to Tregenza but with different starting azimuths and |
117 |
+ |
reversing row direction at each new altitude. |
118 |
+ |
(Use "h=-cie" for left-handed coordinates.) |
119 |
+ |
.TP |
120 |
|
.BI h =scN |
121 |
|
Subdivide the hemisphere using the Shirley-Chiu square-to-disk mapping with an |
122 |
|
.I NxN |
123 |
|
grid over the square. |
124 |
+ |
(Use "h=-scN" for left-handed coordinates.) |
125 |
|
.TP |
126 |
|
.BI u =[-]{X|Y|Z|ux,uy,uz} |
127 |
|
Orient the "up" direction for the hemisphere using the indicated axis or direction |
128 |
|
vector. |
129 |
|
.TP |
130 |
< |
.BI o =output.mtx |
131 |
< |
Send the matrix data for this receiver to the indicated output file. |
130 |
> |
.BI o =output_spec |
131 |
> |
Send the matrix data for this receiver to the indicated file or command. |
132 |
> |
Single or double quotes may be used to contain strings with spaces, and |
133 |
> |
commands must begin with an exclamation mark ('!'). |
134 |
|
The file format will be determined by the command-line |
135 |
|
.I \-fio |
136 |
|
option and will include an information header unless the |
152 |
|
In the receiver file, the |
153 |
|
.I source |
154 |
|
primitive is supported as well, and multiple receivers (and multiple output |
155 |
< |
matrices) are identified by different modifier names. |
155 |
> |
matrices) may be identified by different modifier names. |
156 |
> |
(Make sure that surfaces using the same modifier are grouped together, |
157 |
> |
and that the modifiers are unique and not used elsewhere in the |
158 |
> |
scene description.)\0 |
159 |
|
Though it may be counter-intuitive, receivers are often light sources, |
160 |
|
since samples end up there in a backwards ray-tracing system such as RADIANCE. |
161 |
|
When using local geometry, the overall aperture shape should be close to flat. |
162 |
|
Large displacements may give rise to errors due to a convex receiver's |
163 |
|
larger profile at low angles of incidence. |
164 |
|
.PP |
165 |
< |
Rays always eminate from the back side of the sender surface and arrive at the |
165 |
> |
Rays always emanate from the back side of the sender surface and arrive at the |
166 |
|
front side of receiver surfaces. |
167 |
|
In this way, a receiver surface may be reused as a sender in a subsequent |
168 |
|
.I rfluxmtx |
173 |
|
To generate a flux transfer matrix connecting input and output apertures |
174 |
|
on a light pipe: |
175 |
|
.IP "" .3i |
176 |
< |
rcontrib int_aperture.rad ext_aperture.rad lpipe.rad > lpipe.mtx |
176 |
> |
rfluxmtx int_aperture.rad ext_aperture.rad lpipe.rad > lpipe.mtx |
177 |
|
.SH AUTHOR |
178 |
|
Greg Ward |
179 |
|
.SH "SEE ALSO" |
180 |
< |
genBSDF(1), getinfo(1), rcalc(1), rcollate(1), rcontrib(1), rmtxop(1), vwrays(1) |
180 |
> |
genBSDF(1), getinfo(1), pvsum(1), rcalc(1), rcollate(1), rcomb(1), rcontrib(1), |
181 |
> |
rcrop(1), rmtxop(1), vwrays(1), wrapBSDF(1) |