• added Nuke 13 support.


  • resolved a crash when using integrated deep front and back separately.


  • changed how inputs were requested to ensure correct handling of passed through layers/channels.


  • updated to support C++11 for Nuke 11.3 build.


  • refactored how input channels were handled to accommodate instances where “all” was requested. This will ultimately fix issues related to a higher number of channels being convolved due to how channel indicies are created.


  • added C++11 support for Nuke 11.0.

  • updated build settings for Nuke 11.0 compatibility.


  • re-factored caching calls within engine to avoid access deadlock


  • added support for a PG_BOKEH_ABORT_ON_LICENSE_FAIL environment variable that, if set to 1, will cause Bokeh to abort if a license isn’t available.

  • fixed a bug introduced in 1.4.0 which caused Bokeh to render at sub-optimal speed.


  • updated log output to print to stdout.

  • Bokeh will now watermark the output when no license is valid vs. aborting the render.

  • updates to support Nuke 9.0

  • changes to kernel generation and initialization to avoid locking issues.

  • fixed a bug that was causing way to many threads to be created.


  • Deep Front is used by default for deep image depths, Deep Back may be used if selected from the z channel parameter.

  • Bokeh now uses Peregrine’s deep combine to avoid data clipping introduced in Nuke’s API.



  • added Integrate Deep Front and Back Seperately parameter to toggle 1.3.5’s update on/off



  • default corrective slices set to 10

  • added missing kernel channel to specify a fallback channel for an input kernel when it is missing a required channel

  • integrated peregrine deep combining engine to support correct volume defocusing

  • updated to latest Nuke 7.0 build

Bugs Fixed

  • fixed a bug that would lead to some value combinations causing a black image output

  • fixed volumentric compositing of deep defocus samples

  • stereo exr writes were failing when using a deep image input ( it was writing the same eye twice )

  • fixed bug which caused no output when input channels were set to All with deep input



  • initial Nuke 7.0 support

Bugs Fixed

  • Y stretching when data window covers negative values



Bugs Fixed

  • refactored thread locking

  • fixed bug with incorrectly initialized chromic abberation toggle



Bugs Fixed

  • Bokeh wasn’t correctly computing the max kernel size which was causing slower rendering, this has been corrected



  • added the option of supplying a mattes input which can contain matte channels for controlling Bokeh

  • added Bloom Matte Channel to control bloom levels via an input matte

  • added Defocus Matte Channel to control defocus levels via an input matte

  • updated chromic aberration to be a product of the lens vs. the kernel

  • added Chromic Aberration Matte Channel to control CA level via an input matte

  • added Optical Artifacts tab to re-organize UI

  • moved normalize visualization to the Bokeh tab

  • updated documentation to reflect UI changes and new features

Bugs Fixed

  • fixed correctie slices compositing artifacts



Bugs Fixed



Bugs Fixed

  • resolved caching issues which caused slow updates on initial read



  • front & back multiplier now supported when real world lens mode is selected

  • changed Bokeh Channels to Input_ChannelSet_knob to give access to an “all” set

  • refactored corrective slices and promoted them to their own tabs

  • added world scale multiplier to accomodate for working scales such as 10cm = 1unit

  • replaced polygonal kernel style with Aperture Blades which more closely mimics the blades within a lens

  • added blade curvature to kernel parameters

Bugs Fixed

  • more accurate proxy handling

  • fixed cache slow downs

  • fixed issues causing slow initial renders when roto and scanline renderer connected

  • improved corrective slice compositing



Bugs Fixed

  • fixed issue where deep images we’re being forced to validate by nuke, so we have to handle that internally

  • tried to speed up pre-pass calls with an input ScanlineRender

  • fixed issue where front/back region output was incorrect



Bugs Fixed

  • changed how nan values are handled

  • fixed bug where image would render black if focal plane was equal to the only depth value in the image

  • fixed deep image issues where out of range pixels were sorting incorrectly leading to vector::_M_fill_insert errors



  • added “expand to bounding box” option in the kernel tab to adjust the images output bbox to fit the max kernel size

Bugs Fixed

  • fixed bug where inf depth values would result in erroneous depth slice results

  • fixed alpha compositing with deep images that resolves subtle alpha artifacts



  • improved corrective slices for deep images

Bugs Fixed

  • bloom works again

  • fixed corrective slices ( to more closely match 1.2.1 )



Bugs Fixed

  • resolved cache issues with deep images ( causing “can’t access deep row” errors )



Bugs Fixed

  • fixed update crash, this caused instability when adjusting parameters while Bokeh was still updating

  • fixed bug that caused Bokeh to crash when the input was disconnected while updating



  • refactored how the plugin handles multiple threads to avoid locking

  • cleaned up interface to avoid screen space abuse

  • added custom filmback size and disabled aperture w & h when not selected

  • added feet and inches as a world scale option

  • refactored real world lens equations

  • removed lens style option in favour of a more correct default

  • we’ve removed the zeiss formula input and reverted back to the traditional ( 1730 ) value, most of our newly derived equations are based on this. If you need it back for some reason email support@peregrinlabs.com.

Bugs Fixed

  • solved minute kernel coefficient mismatching artifacts



  • rewrote kernel scaling routines ( defaults to true cubic )

Bugs Fixed

  • deep images would crash Bokeh if there were no samples in a row

  • “zero” depth rows correctly handled

  • input kernel normalization based on max summation resuting in more correct reproduction of input kernels with varying colour intensities



  • focus distance visualization normalized when using real world lens simulation

  • all knobs which are invalid when a camera is connected are now disabled

  • added kernel aspect ratio option, this allows asymetric kernels for matching anamorphic bokeh among other things

Bugs Fixed

  • fixed issue with bokeh sometimes complaining it can’t access the deep image row

  • fixed input kernel issues

  • fixed issue with black output when depth of the whole image == focal plane

  • fixed the fact film format wasn’t working when a 3d camera was used

  • spherical abberation now applied to polygonal kernels correctly



  • new documentation ( what you’re reading )

  • moved changelog into documentation

  • added depth style parameter, used to control whether to interperate depth as real depth values or 1/z values ( as produced by Nukes scanline renderer )

  • added option to simulate lens that will match PRMan’s defocus

  • supports all channels in deep data ( vs. just alpha )

  • changed default polygonal kernel side count to 6

  • fixed offset issues with chromic abberation

  • chromic abberation handled more subtley

  • improced lens simulation accuracy

  • added parameters to control the front and back defocus levels seperately

Bugs Fixed

  • weight buffer incorrectly normalizing output values when using deep image input

  • fixed issue with kernel generation causing “swimming” in animated focus pulls

  • fixed deep image depth reading which returned inf in some instances


Bugs Fixed

  • deep image support would crash if not fed through a DeepToImage, this is fixed now





  • deep image support

  • update build system to handle multiple nuke versions

Bugs Fixed

  • correctly accounted for proxy scale in non-bokeh mode

  • crash when depth slices is set to 0



  • added EULA.pdf

Bugs Fixed

  • resolved an issue where rendering would over saturation requests to the nuke cache causing much slower renders

  • removed setting knobs based on input cameras to avoid polluting the hash tree



  • removed limit on depth slices

  • added aperture width/heigh for real world lens simulation

  • input cameras height and width now sets aperture height and width on bokeh

  • renamed film back to film format

  • replaced still camera with motion picture formats

  • more accurate lens simulation

  • added a parameter for the desired Zeiss formula

Bugs Fixed

  • cameras fstop now passed to Bokeh correctly



  • added camera input to control a limited set of parameters

Bugs Fixed

  • multiplier is ignored when real world lens is selected



  • added the option to output just the front or back focus planes, when added they produce the same result as the full defocus effect

  • added focus matte output mode

  • added world scale parameter to control how real world lens interperates depth values

  • added film back parameter to real world lens

Bugs Fixed

  • fixed varying channel issues due to requesting invalid channels

  • crushed real world lens bug



  • colourized depth preview

  • changed range for defocus level

  • sped up kernel creation

  • optimized depth and kernel preview

  • add the option of specifying what channel to use for depth

Bugs Fixed

  • fixed crash when viewing channels other than RGBA

  • fixed polygon sides issue ( was just drawing a square )



  • reorganized CMake and directory structure

  • first build on Windows, wehay!

  • sped up preview depth values mode

Bugs Fixed