ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/doc/man/man1/rfluxmtx.1
Revision: 1.15
Committed: Thu Mar 27 01:26:55 2025 UTC (5 weeks, 3 days ago) by greg
Branch: MAIN
CVS Tags: HEAD
Changes since 1.14: +2 -2 lines
Log Message:
feat(pvsum): Added new pvsum tool for spectral data, similar to dctimestep

File Contents

# Content
1 .\" RCSid "$Id: rfluxmtx.1,v 1.14 2024/02/08 02:26:01 greg Exp $"
2 .TH RFLUXMTX 1 07/22/14 RADIANCE
3 .SH NAME
4 rfluxmtx - compute flux transfer matrix(es) for RADIANCE scene
5 .SH SYNOPSIS
6 .B rfluxmtx
7 [
8 .B \-v
9 ][
10 .B "rcontrib options"
11 ]
12 .B "{ sender.rad | - }"
13 .B receivers.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
19 .I sender.rad
20 and records rays arriving at surfaces in the file
21 .I receivers.rad,
22 producing a flux transfer matrix per receiver.
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
32 .I rfluxmtx
33 passes ray samples from its standard input directly to
34 .I rcontrib
35 without interpretation.
36 By default, all resulting matrix data are interleaved and sent to the standard output
37 in ASCII format, but this behavior is typically overridden using inline options
38 as described below.
39 .PP
40 The
41 .I \-v
42 option turns on verbose reporting for the number of samples and the executed
43 .I rcontrib
44 command.
45 All other supported options are passed on to
46 .I rcontrib(1).
47 However, the
48 .I \-f,
49 .I \-e,
50 .I \-p,
51 .I \-b,
52 .I \-bn,
53 .I \-m,
54 and
55 .I \-M
56 options are controlled by
57 .I rfluxmtx
58 and may not be set by the user.
59 Also, the
60 .I \-x,
61 .I \-y,
62 and
63 .I \-ld
64 options are ignored unless
65 .I rfluxmtx
66 is invoked in the pass-through mode,
67 in which case they may be needed to generate RADIANCE views from
68 .I vwrays(1).
69 The sample count, unless set by the
70 .I \-c
71 option, defaults to 10000 when a sender file is given, or to 1 for pass-through mode.
72 .SH VARIABLES
73 The sender and receiver scene files given to
74 .I rfluxmtx
75 contain controlling parameters in special comments of the form:
76 .nf
77
78 #@rfluxmtx variable=value ..
79
80 .fi
81 At minimum, both sender and receiver must specify one of the
82 hemisphere sampling types, and there must be at least
83 one surface in each file.
84 .TP 10n
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" 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
106 sky pattern with
107 .I N
108 divisions in each dimension.
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_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
137 .I \-h
138 option was used to turn headers off.
139 (The output file specification is ignored for senders.)\0
140 .PP
141 In normal execution, only a single sender surface is sampled, but it may be
142 comprised of any number of subsurfaces, as in a triangle mesh or similar.
143 The surface normal will be computed as the average of all the constituent
144 subsurfaces.
145 The subsurfaces themselves must be planar, thus only
146 .I polygon
147 and
148 .I ring
149 surface primitives are supported.
150 Other primitives will be silently ignored and will have no effect on the calculation.
151 .PP
152 In the receiver file, the
153 .I source
154 primitive is supported as well, and multiple receivers (and multiple output
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 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
169 calculation and the resulting matrices will concatenate properly.
170 (Note that it is important to keep receiver surfaces together, otherwise a
171 "duplicate modifier" error will result.)\0
172 .SH EXAMPLES
173 To generate a flux transfer matrix connecting input and output apertures
174 on a light pipe:
175 .IP "" .3i
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), pvsum(1), rcalc(1), rcollate(1), rcomb(1), rcontrib(1),
181 rcrop(1), rmtxop(1), vwrays(1), wrapBSDF(1)