2 |
|
.TH PMAPDUMP 1 "$Date$ $Revision$" RADIANCE |
3 |
|
|
4 |
|
.SH NAME |
5 |
< |
pmapdump - generate RADIANCE scene description of photon map distribution |
5 |
> |
pmapdump - generate RADIANCE scene description or point list representing |
6 |
> |
photon positions and (optionally) flux |
7 |
|
|
8 |
|
.SH SYNOPSIS |
9 |
< |
pmapdump [\fB-n\fR \fInspheres1\fR] [\fB-r\fR \fIradscale1\fR] |
10 |
< |
[\fB-f\fR | \fB-c\fR \fIrcol1\fR \fIgcol1\fR \fIbcol1\fR] \fIpmap1\fR |
11 |
< |
[\fB-n\fR \fInspheres2\fR] [\fB-r\fR \fIradscale2\fR] |
12 |
< |
[\fB-f\fR | \fB-c\fR \fIrcol2\fR \fIgcol2\fR \fIbcol2\fR] \fIpmap2\fR |
13 |
< |
... |
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 sends a RADIANCE scene description of their |
19 |
< |
photon distributions to the standard output. Photons are represented as |
20 |
< |
spheres of material type \fIglow\fR. These can be visualised with |
21 |
< |
e.g. \fIobjview(1)\fR, \fIrpict(1)\fR, or \fIrvu(1)\fR to assess the |
22 |
< |
location and local density of photons in relation to the scene geometry. No |
23 |
< |
additional light sources are necessary, as the spheres representing the |
24 |
< |
photons are self-luminous. |
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 according to |
34 |
< |
the following default schema: |
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 |
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 |
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. |
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-n \fInspheres\fR" |
60 |
< |
Specifies the number of spheres to dump for the next photon map. The dump |
61 |
< |
is performed by random sampling with \fInspheres\fR as target count, hence |
62 |
< |
the number actually output will be approximate. \fINspheres\fR may be |
63 |
< |
followed by a multiplier suffix for convenience, where \fIk\fR = 10^3 and |
64 |
< |
\fIm\fR = 10^6, although the latter may lead to problems when processing the |
65 |
< |
output geometry with \fIoconv(1)\fR. The default number of spheres is 10k. |
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-r \fIradscale\fR" |
68 |
< |
Specifies a relative scale factor \fIradscale\fR for the sphere radius. The |
69 |
< |
sphere radius is determined automatically from an estimated average distance |
70 |
< |
between spheres so as to reduce clustering, assuming a uniform distribution. |
71 |
< |
In cases where the distribution is substantially nonuniform (e.g. highly |
72 |
< |
localised caustics) the radius can be manually corrected with this option. |
66 |
< |
The default value is 1.0. |
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 colour for the next photon map. The colour is |
76 |
< |
specified as an RGB triplet, with each component in the range (0..1]. |
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-f\fR" |
81 |
< |
Boolean switch to colour each sphere according to the corresponding photon's |
82 |
< |
RGB flux instead of a constant colour. Note that the resulting colours can |
83 |
< |
span several orders of magnitude and may require tone mapping with |
84 |
< |
\fIpcond(1)\fR for visualisation. This option is mutually exclusive with |
85 |
< |
\fB-c\fR. |
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 output may contain many overlapping spheres in areas with high photon |
100 |
< |
density, particularly in caustics. This results in inefficient and slow |
101 |
< |
octree generation with \fIoconv(1)\fR. Generally this can be improved by |
102 |
< |
reducing \fInspheres\fR and/or \fIradscale\fR. |
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 |
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_pmdump.oct |
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_pmdump.oct |
115 |
> |
pmapdump -n 10k -f caustic.pm | oconv - scene.rad > scene_pm.oct |
116 |
|
.PP |
117 |
< |
Dumps may also be viewed on their own by piping the output of \fIpmapdump\fR |
118 |
< |
directly into \fIobjview(1)\fR (using the default number of spheres in this |
119 |
< |
example): |
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}) |
143 |
|
|
144 |
|
.SH "SEE ALSO" |
145 |
|
mkpmap(1), objview(1), oconv(1), rpict(1), rvu(1), |
146 |
< |
\fIThe RADIANCE Photon Map Manual\fR |
146 |
> |
\fIThe RADIANCE Photon Map Manual\fR, |
147 |
> |
\fIBonzo Daylighting Tool [TM]\fR |
148 |
> |
|
149 |
|
|