1 |
.\" RCSid "$Id: pmapdump.1,v 1.4 2019/01/10 18:29:34 rschregle Exp $" |
2 |
.TH PMAPDUMP 1 "$Date: 2019/01/10 18:29:34 $ $Revision: 1.4 $" RADIANCE |
3 |
|
4 |
.SH NAME |
5 |
pmapdump - generate RADIANCE scene description or point list representing |
6 |
photon positions and (optionally) flux |
7 |
|
8 |
.SH SYNOPSIS |
9 |
pmapdump [\fB-a\fR] [\fB-n\fR \fInum1\fR] [\fB-r\fR \fIradscale1\fR] |
10 |
[\fB-f\fR | \fB-c\fR \fIrcol1\fR \fIgcol1\fR \fIbcol1\fR] |
11 |
\fIpmap1\fR |
12 |
[\fB-a\fR] [\fB-n\fR \fInum2\fR] [\fB-r\fR \fIradscale2\fR] |
13 |
[\fB-f\fR | \fB-c\fR \fIrcol2\fR \fIgcol2\fR \fIbcol2\fR] |
14 |
\fIpmap2\fR ... |
15 |
|
16 |
.SH DESCRIPTION |
17 |
\fIpmapdump\fR takes one or more photon map files generated with |
18 |
\fImkpmap(1)\fR as input and, by default, sends a RADIANCE scene description |
19 |
of their photon distributions to the standard output. Photons are |
20 |
represented as spheres of material type \fIglow\fR. These can be |
21 |
visualised with e.g. \fIobjview(1)\fR, \fIrpict(1)\fR, or \fIrvu(1)\fR to |
22 |
assess the location and local density of photons in relation to the scene |
23 |
geometry. No additional light sources are necessary, as the spheres |
24 |
representing the photons are self-luminous. |
25 |
.PP |
26 |
Alternatively, photons can also be output as an ASCII point list, where |
27 |
each line contains a photon's position and colour. |
28 |
This point list can be imported in a 3D point cloud processor/viewer |
29 |
to interactively explore the photon map. |
30 |
.PP |
31 |
An arbitrary number of photon maps can be specified on the command line and |
32 |
the respective photon type is determined automagically.Per default, the |
33 |
different photon types are visualised as colour coded spheres/points |
34 |
according to the following default schema: |
35 |
.IP |
36 |
\fIBlue\fR: global photons |
37 |
.br |
38 |
\fICyan\fR: precomputed global photons |
39 |
.br |
40 |
\fIRed\fR: caustic photons |
41 |
.br |
42 |
\fIGreen\fR: volume photons |
43 |
.br |
44 |
\fIMagenta\fR: direct photons |
45 |
.br |
46 |
\fIYellow\fR: contribution photons |
47 |
.PP |
48 |
These colours can be overridden for individual photon maps with the \fB-c\fR |
49 |
option (see below). Alternatively, photons can be individually coloured |
50 |
according to their actual RGB flux with the \fB-f\fR option (see below); |
51 |
while this makes it difficult to discern photon types, it can be used to |
52 |
quantitatively analyse colour bleeding effects, for example. |
53 |
|
54 |
.SH OPTIONS |
55 |
Options are effective for the photon map file immediately following on the |
56 |
command line, and are reset to their defaults after completion of each dump. |
57 |
As such they may be set individually for each photon map. |
58 |
|
59 |
.IP "\fB-a\fR" |
60 |
Boolean switch to output photons as a point list in ASCII (text) format |
61 |
instead of a RADIANCE scene. |
62 |
Each output line consists of 6 tab-separated floating point values: the |
63 |
X, Y, Z coordinates of the photon's position, and the R, G, B colour |
64 |
channels of its flux. These values. notably the flux, may be expressed |
65 |
in scientific notation to accommodate their high dynamic range. |
66 |
|
67 |
.IP "\fB-f\fR" |
68 |
Boolean switch to colour each sphere/point according to the corresponding |
69 |
photon's RGB flux instead of a constant colour. Note that no exposure is |
70 |
applied, and as such the resulting colours can span several orders of |
71 |
magnitude and may require tone mapping with \fIpcond(1)\fR for |
72 |
visualisation. This option is mutually exclusive with \fB-c\fR. |
73 |
|
74 |
.IP "\fB-c\fR \fIrcol\fR \fIgcol\fR \fIbcol\fR" |
75 |
Specifies a custom sphere/point colour for the next photon map. The colour |
76 |
is specified as an RGB triplet, with each component in the range (0..1]. |
77 |
Without this option, the default colour for the corresponding photon type |
78 |
is used. This option is mutually exclusive with \fB-f\fR. |
79 |
|
80 |
.IP "\fB-n \fInum\fR" |
81 |
Specifies the number of spheres or points to dump for the next photon map. |
82 |
The dump is performed by random sampling with \fInum\fR as target count, |
83 |
hence the number actually output will be approximate. \fINum\fR may be |
84 |
suffixed by a case-insensitive multiplier for convenience, where |
85 |
\fIk\fR = 10^3 and \fIm\fR = 10^6, although the latter may lead to problems |
86 |
when processing the output geometry with \fIoconv(1)\fR. The default number |
87 |
is 10k. |
88 |
|
89 |
.IP "\fB-r \fIradscale\fR" |
90 |
Specifies a relative scale factor \fIradscale\fR for the sphere radius. The |
91 |
sphere radius is determined automatically from an estimated average distance |
92 |
between spheres so as to reduce clustering, assuming a uniform distribution. |
93 |
In cases where the distribution is substantially nonuniform (e.g. highly |
94 |
localised caustics) the radius can be manually corrected with this option. |
95 |
The default value is 1.0. This option is ignored for point list output |
96 |
in conjuction with \fB-a\fR. |
97 |
|
98 |
.SH NOTES |
99 |
The RADIANCE scene output may contain many overlapping spheres in areas with |
100 |
high photon density, particularly in caustics. This results in inefficient |
101 |
and slow octree generation with \fIoconv(1)\fR. Generally this can be |
102 |
improved by reducing \fInum\fR and/or \fIradscale\fR. |
103 |
|
104 |
.SH EXAMPLES |
105 |
Visualise the distribution of global and caustic photons superimposed |
106 |
on the scene geometry with 5000 pale red and 10000 pale blue spheres, |
107 |
respectively: |
108 |
.IP |
109 |
pmapdump -n 5k -c 1 0.4 0.4 global.pm -n 10k -c 0.4 0.4 1 caustic.pm | |
110 |
oconv - scene.rad > scene_pm.oct |
111 |
.PP |
112 |
Visualise the caustic photon distribution superimposed on the scene geometry |
113 |
with 10000 spheres coloured according to the photons' respective RGB flux: |
114 |
.IP |
115 |
pmapdump -n 10k -f caustic.pm | oconv - scene.rad > scene_pm.oct |
116 |
.PP |
117 |
RADIANCE scene dumps may also be viewed on their own by simply piping the |
118 |
output of \fIpmapdump\fR directly into \fIobjview(1)\fR (using the default |
119 |
number of spheres in this example): |
120 |
.IP |
121 |
pmapdump zombo.pm | objview |
122 |
.PP |
123 |
Dump photons as a (really long) point list to an ASCII file for import in |
124 |
a 3D point cloud viewer: |
125 |
.IP |
126 |
pmapdump -a -f -n 1m lotsa.pm > lotsa-pointz.txt |
127 |
.PP |
128 |
Capt. B. wants 'em bigger: |
129 |
.IP |
130 |
pmapdump -r 4.0 bonzo.pm > bigbonzo-pm.rad |
131 |
|
132 |
.SH AUTHOR |
133 |
Roland Schregle (roland.schregle@{hslu.ch,gmail.com}) |
134 |
|
135 |
.SH COPYRIGHT |
136 |
(c) Fraunhofer Institute for Solar Energy Systems, Lucerne University of |
137 |
Applied Sciences and Arts. |
138 |
|
139 |
.SH ACKNOWLEDGEMENT |
140 |
Development of the RADIANCE photon mapping extension was sponsored by the |
141 |
German Research Foundation (DFG) and the Swiss National Science Foundation |
142 |
(SNF). |
143 |
|
144 |
.SH "SEE ALSO" |
145 |
mkpmap(1), objview(1), oconv(1), rpict(1), rvu(1), |
146 |
\fIThe RADIANCE Photon Map Manual\fR, |
147 |
\fIBonzo Daylighting Tool [TM]\fR |
148 |
|
149 |
|