| 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)
|