---
name: "pdfblur"
section: "1"
platform: "linux"
package: "radiance"
version: "4R1+20120125-1+b1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/pdfblur"
---

# pdfblur(1)

generate views for depth-of-field blurring

## 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)](/pinterp/1.md)* or *[rpict(1)](/rpict/1.md)* 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)](/pcomb/1.md)* 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)](/pcomb/1.md), [pinterp(1)](/pinterp/1.md), [pmblur(1)](/pmblur/1.md), [pmdblur(1)](/pmdblur/1.md), [rcalc(1)](/rcalc/1.md), [rpict(1)](/rpict/1.md), [vwright(1)](/vwright/1.md)
