NAME¶
pdfblur - generate views for depth-of-field blurring
SYNOPSIS¶
pdfblur aperture nsamp viewfile
DESCRIPTION¶
Pdfblur takes the given
viewfile and computes
nsamp views
based on an aperture diameter of
aperture (in world coordinate units)
and a focal distance equal to the length of the
-vd view direction
vector. When rendered and averaged together, these views will result in a
picture with the specified depth of field. Either
pinterp(1) or
rpict(1) may be called to do the actual work. (The given
viewfile must also be passed on the command line to the chosen
renderer, since
pdfblur provides supplemental view specifications
only.)
For
pinterp, feed the output of
pdfblur to the standard input of
pinterp and apply the
-B option to blur views together. In most
cases, a single picture with z-buffer is all that is required to get a
satisfactory result, though the perfectionist may wish to apply three pictures
arranged in a triangle about the aperature, or alternatively apply the
-ff option together with the
-fr option of
pinterp. (The
latter may actually work out to be faster, since rendering three views takes
three times as long as a single view, and the
-fr option will end up
recomputing relatively few pixels by comparison.)
To use
pdfblur with
rpict, apply the
-S option to indicate
a rendering sequence, and set the
-o option with a formatted file name
to save multiple output pictures. When all the renderings are finished,
combine them with the
pcomb(1) program, using appropriate scalefactors
to achieve an average. Note that using
rpict is MUCH more expensive
than using
pinterp, and it is only recommended if the scene and
application absolutely demand it (e.g. there is prominent refraction that must
be modeled accurately).
For both
pinterp and
rpict, the computation time will be
proportional to the number of views from
pdfblur. We have found a
nsamp setting somewhere between 5 and 10 to be adequate for most
images. Relatively larger values are appropriate for larger aperatures.
The
-pd option of
rpict may be used instead or in combination with
or instead of
pdfblur to blur depth-of-field. If used in combination,
it is best to set the
-pd option to the overall
aperture divided
by
nsamp to minimize ghosting in the output.
To simulate a particular camera's aperture, divide the focal length of the lens
by the f-number, then convert to the corresponding world coordinate units. For
example, if you wish to simulate a 50mm lens at f/2.0 in a scene modeled in
meters, then you divide 50mm by 2.0 to get 25mm, which corresponds to an
effective aperture of 0.025 meters.
EXAMPLES¶
To use
pinterp to simulate an aperture of 0.5 inches on a lens focused at
a distance of 57 inches:
-
- rpict -vf myview -x 640 -y 480 -z orig.zbf scene.oct >
orig.hdr
pdfblur 0.5 57 8 orig.hdr | pinterp -B -vf orig.hdr -x 640 -y 480 orig.hdr
orig.zbf > blurry.hdr
To use
rpict exclusively to do the same:
-
- pdfblur .5 57 5 myview | rpict -S 1 -vf myview -x 640 -y
480 -o view%d.hdr scene.oct
pcomb -s .2 view1.hdr -s .2 view2.hdr -s .2 view3.hdr -s .2 view4.hdr -s .2
view5.hdr > blurry.hdr
AUTHOR¶
Greg Ward
BUGS¶
This program really only works with perspective views.
SEE ALSO¶
pcomb(1),
pinterp(1),
pmblur(1),
pmdblur(1),
rcalc(1),
rpict(1),
vwright(1)