1 |
.\" RCSid "$Id: bsdf2rad.1,v 1.4 2021/02/25 04:48:19 greg Exp $" |
2 |
.TH BSDF2RAD 1 8/11/2017 RADIANCE |
3 |
.SH NAME |
4 |
bsdf2rad - create a RADIANCE visualization of a BSDF representation |
5 |
.SH SYNOPSIS |
6 |
.B bsdf2rad |
7 |
[ |
8 |
.B "\-r min max" |
9 |
] |
10 |
bsdf.xml |
11 |
.br |
12 |
or |
13 |
.br |
14 |
.B bsdf2rad |
15 |
[ |
16 |
.B "\-r min max" |
17 |
] |
18 |
hemi1.sir |
19 |
[ |
20 |
hemi2.sir .. |
21 |
] |
22 |
.br |
23 |
.SH DESCRIPTION |
24 |
.I Bsdf2rad |
25 |
takes a bidirectional scattering distribution function (BSDF) |
26 |
and plots it as a RADIANCE scene file. |
27 |
In the first form, |
28 |
.I bsdf2rad |
29 |
takes a single XML file representing a Klems or tensor tree BSDF, plotting |
30 |
as many scattering hemispheres as are present in the file. |
31 |
In the second form, |
32 |
.I bsdf2rad |
33 |
takes up to four scattering interpolation representation (SIR) files, |
34 |
each depicting the BSDF from one side of one incident hemisphere, |
35 |
and plots them together. |
36 |
An XML BSDF description may be imported from outside RADIANCE, or |
37 |
produced by |
38 |
.I genBSDF(1), |
39 |
.I bsdf2klems(1), |
40 |
or |
41 |
.I bsdf2ttree(1). |
42 |
(A program that produces SIR files is |
43 |
.I pabopto2bsdf(1).)\0 |
44 |
.PP |
45 |
The output of |
46 |
.I bsdf2rad |
47 |
is a RADIANCE scene that contains a selection of 3-D plots showing |
48 |
the given material's reflection and transmission scattering. |
49 |
This description is normally sent to |
50 |
.I oconv(1) |
51 |
to create an octree for rendering using |
52 |
.I rad(1), |
53 |
.I rvu(1), |
54 |
or |
55 |
.I rpict(1). |
56 |
.PP |
57 |
To the right (+X) of the scene, the front incident hemisphere will be plotted. |
58 |
To the left (-X) of the scene, the back incident hemisphere will be plotted. |
59 |
Depending on the input, only one or the other hemisphere may be present. |
60 |
In the case of an XML input, the hemispheres will be made of the specified |
61 |
BSDF material, and the scene |
62 |
will include a single (distant) light source shining straight |
63 |
down from overhead (+Z direction). |
64 |
.PP |
65 |
Pink arrows will indicate the "through" (view) and "mirror" |
66 |
(specular reflection) directions for each scatter plot. |
67 |
The logarithmic scale of the BSDF plots themselves will be determined |
68 |
automatically by the data and shown in a legend that lies between the |
69 |
two hemisphere, or to the side if there is only one. |
70 |
The incident direction may be read from the position of |
71 |
each plot, where hemisphere grid lines are separated by |
72 |
15 degree increments in the polar (theta, latitude) angle, and by |
73 |
30 degree increments in the azimuthal (phi, longitude) angle. |
74 |
The center (+Z) of each hemisphere corresponds to normal incidence, |
75 |
and the right (+X) direction corresponds to a zero phi angle. |
76 |
Positive phi is read counter-clockwise from above, |
77 |
and a phi of 90 degrees (+Y) typically corresponds |
78 |
to a material's "up" orientation. |
79 |
.PP |
80 |
If an optional plotting range is given with the |
81 |
.I \-r |
82 |
option, this will override automatic settings from the BSDF input. |
83 |
This may be useful for comparing different BSDF sources. |
84 |
.SH EXAMPLE |
85 |
To view a BSDF XML representation: |
86 |
.IP "" .2i |
87 |
bsdf2rad cloth.xml | oconv - > cloth.oct |
88 |
.br |
89 |
rvu -vp 0 -50 50 -vd 0 50 -50 -vh 45 -vv 30 cloth.oct |
90 |
.PP |
91 |
To render an SIR description of a BRDF: |
92 |
.IP "" .2i |
93 |
bsdf2rad front_refl.sir back_refl.sir > refl.rad |
94 |
.br |
95 |
oconv -f refl.rad | rpict -vf good.vf > refl_good.hdr |
96 |
.SH AUTHOR |
97 |
Greg Ward |
98 |
.SH "SEE ALSO" |
99 |
bsdf2klems(1), bsdf2ttree(1), genBSDF(1), |
100 |
bsdfview(1), oconv(1), pabopto2bsdf(1), pabopto2xyz(1), rad(1), rpict(1), rvu(1) |