1 |
.\" RCSid "$Id: mkillum.1,v 1.8 2008/04/18 00:39:24 greg Exp $" |
2 |
.TH MKILLUM 1 10/6/95 RADIANCE |
3 |
.SH NAME |
4 |
mkillum - compute illum sources for a RADIANCE scene |
5 |
.SH SYNOPSIS |
6 |
.B mkillum |
7 |
[ |
8 |
.B "\-n nprocs" |
9 |
][ |
10 |
.B "rtrace options" |
11 |
] |
12 |
.B octree |
13 |
.B "[ \< file .. ]" |
14 |
.br |
15 |
.B "mkillum [ rtrace options ] \-defaults" |
16 |
.SH DESCRIPTION |
17 |
.I Mkillum |
18 |
takes a prepared RADIANCE scene description and an octree and computes |
19 |
light source distributions for each surface, replacing them with |
20 |
secondary sources whose contributions can be computed more efficiently by |
21 |
.I rpict(1) |
22 |
and |
23 |
.I rvu(1). |
24 |
This type of optimization is most useful for windows and skylights which |
25 |
represent concentrated sources of indirect illumination. |
26 |
.I Mkillum |
27 |
is not appropriate for very large sources or sources with highly |
28 |
directional distributions. |
29 |
These are best handled respectively by the ambient calculation |
30 |
and the secondary source types in RADIANCE. |
31 |
.PP |
32 |
If the |
33 |
.I \-n |
34 |
option is specified with a value greater than 1, multiple |
35 |
ray tracing processes will be used to accelerate computation on a shared |
36 |
memory machine. |
37 |
Note that there is no benefit to using more processes |
38 |
than there are local CPUs available to do the work. |
39 |
.PP |
40 |
Remaining arguments to |
41 |
.I mkillum |
42 |
are interpreted as rendering options for |
43 |
.I rtrace(1), |
44 |
to compute the light distributions for the input surfaces. |
45 |
These surfaces can be any combination of polygons, spheres and rings. |
46 |
Other surfaces may be included, but |
47 |
.I mkillum |
48 |
cannot compute their distributions. |
49 |
.PP |
50 |
By default, |
51 |
.I mkillum |
52 |
reads from its standard input and writes to its standard output. |
53 |
It is possible to specify multiple input files in a somewhat |
54 |
unconventional fashion by placing a lesser-than symbol ('<') before |
55 |
the file names. |
56 |
(Note that this character must be escaped from most shells.) |
57 |
This is necessary so |
58 |
.I mkillum |
59 |
can tell where the rendering arguments |
60 |
end and its own input files begin. |
61 |
.SH VARIABLES |
62 |
.I Mkillum |
63 |
has a number of parameters that can be changed by |
64 |
comments in the input file of the form: |
65 |
.nf |
66 |
|
67 |
#@mkillum variable=value option switch{+|-} .. |
68 |
|
69 |
.fi |
70 |
String or integer variables are separated from their values by the |
71 |
equals sign ('='). |
72 |
Options appear by themselves. |
73 |
Switches are followed either by a |
74 |
plus sign to turn them on or a minus sign to turn them off. |
75 |
.PP |
76 |
Parameters are usually changed many times within the |
77 |
same input file to tailor the calculation, specify different |
78 |
labels and so on. |
79 |
The parameters and their meanings are described below. |
80 |
.TP 10n |
81 |
.BI o =string |
82 |
Set the output file to |
83 |
.I string. |
84 |
All subsequent scene data will be sent to this file. |
85 |
If this appears in the first comment in the input, nothing will be |
86 |
sent to the standard output. |
87 |
Note that this is not recommended when running |
88 |
.I mkillum |
89 |
from |
90 |
.I rad(1), |
91 |
which expects the output to be on the standard output. |
92 |
.TP |
93 |
.BI m =string |
94 |
Set the material identifier to |
95 |
.I string. |
96 |
This name will be used not only as the new surface modifier, but it |
97 |
will also be used to name the distribution pattern and the data files. |
98 |
The distribution name will be |
99 |
.I string |
100 |
plus the suffix ".dist". |
101 |
The data file will be named |
102 |
.I string |
103 |
plus possibly an integer plus a ".dat" suffix. |
104 |
The integer is used to avoid accidently writing over an existing |
105 |
file. |
106 |
If overwriting the file is desired, use the |
107 |
.I f |
108 |
variable below. |
109 |
.TP |
110 |
.BI f =string |
111 |
Set the data file name to |
112 |
.I string. |
113 |
The next data file will be given this name plus a ".dat" suffix. |
114 |
Subsequent files will be named |
115 |
.I string |
116 |
plus an integer plus the ".dat" suffix. |
117 |
An existing file with the same name will be clobbered. |
118 |
This variable may be unset by leaving off the value. |
119 |
(See also the |
120 |
.I m |
121 |
variable above.) |
122 |
.TP |
123 |
.BR a |
124 |
Produce secondary sources for all of the surfaces in the input. |
125 |
This is the default. |
126 |
.TP |
127 |
.BI e =string |
128 |
Produce secondary sources for all surfaces except those modified by |
129 |
.I string. |
130 |
Surfaces modified by |
131 |
.I string |
132 |
will be passed to the output unchanged. |
133 |
.TP |
134 |
.BI i =string |
135 |
Only produce secondary sources for surfaces modified by |
136 |
.I string. |
137 |
.TP |
138 |
.BR n |
139 |
Do not produce any secondary sources. |
140 |
All input will be passed to the output unaffected, except any |
141 |
void surfaces will be removed. |
142 |
.TP |
143 |
.BI b =real |
144 |
Do not produce a secondary source for a surface if its average |
145 |
brightness (radiance) is less than the value |
146 |
.I real. |
147 |
.TP |
148 |
.BI c ={d|a|n} |
149 |
Use color information according to the given character. |
150 |
If the character is |
151 |
.I d, |
152 |
then color information will be used in three separate data files and |
153 |
the distribution will be fully characterized in terms of color. |
154 |
If the character is |
155 |
.I a, |
156 |
then only the average color is computed and the distribution will |
157 |
not contain color information. |
158 |
If the character is |
159 |
.I n, |
160 |
even the average distribution color will be thrown away, |
161 |
producing secondary sources that are completely uncolored. |
162 |
This may be desirable from a color-balancing point of view. |
163 |
.TP |
164 |
.BI d =integer |
165 |
Set the number of direction samples per projected steradian to |
166 |
.I integer. |
167 |
The number of directions stored in the associated data file will be |
168 |
approximately this number multiplied by pi for polygons and rings, and |
169 |
by 4pi for spheres. |
170 |
If |
171 |
.I integer |
172 |
is zero, then a diffuse source is assumed and no distribution is |
173 |
created. |
174 |
.TP |
175 |
.BI d =string |
176 |
Set the surface Bidirectional Scattering Distribution Function (BSDF) |
177 |
to the given file. |
178 |
The RADIANCE library path will be searched if the file does not begin |
179 |
with a '.' or '~' character. |
180 |
This file must contain an LBNL Window 6 XML specification of a valid |
181 |
BSDF for the given surface, and all rays will be interpreted through |
182 |
this function. |
183 |
The orientation of the BSDF may be controlled with the |
184 |
.I u |
185 |
setting, described below. |
186 |
The thickness of the surface may be controlled with the |
187 |
.I t |
188 |
setting. |
189 |
If this variable has no setting or an integer is specified, |
190 |
.I mkillum |
191 |
returns to the default behavior of computing the output distribution |
192 |
directly. |
193 |
.TP |
194 |
.BI s =integer |
195 |
Set the number of ray samples per direction to |
196 |
.I integer. |
197 |
This variable affects the accuracy of the distribution value for |
198 |
each direction as well as the computation time for |
199 |
.I mkillum. |
200 |
.TP |
201 |
.BR l{+|-} |
202 |
Switch between light sources and illum sources. |
203 |
If this switch is enabled |
204 |
.I (l+), |
205 |
.I mkillum |
206 |
will use the material type "light" to represent surfaces. |
207 |
If disabled |
208 |
.I (l-), |
209 |
.I mkillum |
210 |
will use the material type "illum" with the input surface modifier |
211 |
as its alternate material. |
212 |
The default is |
213 |
.I l-. |
214 |
.TP |
215 |
.BI u =[+|-]{X|Y|Z} |
216 |
The given axis will be considered "up" for the purposes of interpreting |
217 |
BSDF data specified with the |
218 |
.I d |
219 |
variable. |
220 |
The BSDF will be reoriented relative to the surface as necessary to keep |
221 |
the up vector in the vertical plane that contains this axis and the |
222 |
surface normal, corresponding to an azimuth of 90 degrees. |
223 |
The default up vector is +Z. |
224 |
.TP |
225 |
.BI t =real |
226 |
Set the surface thickness to |
227 |
.I real |
228 |
in world coordinates. |
229 |
This value is used for determining where to start rays that need to begin |
230 |
on the opposite side of the surface, specifically to compute the incoming |
231 |
distribution for a BSDF computation. |
232 |
The default value is 0. |
233 |
.SH EXAMPLES |
234 |
The following command generates illum's corresponding to geometry |
235 |
in the files "it1.rad" and "it2.rad": |
236 |
.IP "" .3i |
237 |
mkillum \-ab 2 \-ad 1024 \-av .1 .1 .1 basic.oct "<" it1.rad it2.rad > illums.rad |
238 |
.PP |
239 |
The output file "illums.rad" would then be combined with the original |
240 |
scene geometry to create a more easily rendered composite. |
241 |
.SH ENVIRONMENT |
242 |
RAYPATH the directories to check for auxiliary files. |
243 |
.SH AUTHOR |
244 |
Greg Ward |
245 |
.SH ACKNOWLEDGEMENT |
246 |
Work on this program was initiated and sponsored by the LESO |
247 |
group at EPFL in Switzerland. |
248 |
.SH "SEE ALSO" |
249 |
oconv(1), rad(1), rpict(1), rtrace(1), rvu(1) |