PDFBLUR(1)
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.