# Bokeh Iwa

#### ● Overview

This effect reproduces a camera lens blur. The RGB values of each layer will be converted
to exposure values, then blurred using the Iris shape, and finally composed together.
Unlike the Bokeh Iwa Fx, this fx can use depth reference images for dividing layer into several sub-layers within specified range of depth.
Also, this fx can apply individual hardness value for each source for adjusting bokeh brightness.
To achieve a faster processing time, a Fourier transformation is used to process the filter.

#### ● Input Port

- Iris : Connects the image to define the shape of the Iris. The image luminance
  values will be used for the effect. If no image is connected to the Iris port, no calculation
  will take place. It's possible to connect 8bit or 16bit RGBA images.
- Source [1～5] : Connects images for the layers. The order in which they are
  connected here doesn't define the layer stacking order. If nothing is connected to any
  Source port, no calculation will be performed.
- Depth [1～] : Connect the Depth reference image for the layer to be divided into sub-layers.
  The brightness of each pixel corresponds to the depth.
  The higher (brighter) the value, the farther away from the camera.

#### ● Parameters

Common

- On-Focus Distance : If there's a layer or sub-layer in this position, it will look on focus and it will be
  composed normally. 0 represents the camera position. (Range 0.0-1.0)
- Bokeh Amount : Maximum size of blur (in scene units). When the focus position and the
  layer position are 1.0 away from each other and Bokeh Adjustment is 1, the Iris image is
  enlarged until the width of this image reaches this value.
- Master Hardness : The gamma value of the film. Used to convert between RGB value and
  exposure. This is equivalent to the increase in RGB value (0.0 to 1.0) when the exposure is
  increased 10 times. The lower the value, the more the highlights are emphasized.
  (Range 0.05-3.0)
- Hardness per Source : Specify whether to use individual hardness value instead of the master hardness for converting the layer RGB values to exposures.

Sources

- Distance : The distance of the layer from the camera. The layer stacking order is
  automatically sorted according to this value. (Range 0.0-1.0)
- Bokeh Adjustment : Bokeh size correction value. The size of the bokeh is multiplied by N,
  keeping the order of layer stacking. If this value is 0, the layers will be composited normally
  without blurring regardless of the distance of the layer. (Range 0.0-2.0)
- Hardness : Individual hardness used for converting this layer's RGB values to exposure.
- Depth Image : Specifies the Depth port number. If some available Depth port is set, this layer will be divided into sub-layers at different depths in the specified range.
- Depth Range : Specifies the range of depth where the sub-layers will be distributed.

#### ● Notes

- Separating a layer into sub-layers is just like the Bokeh Ref Iwa Fx except that the following parameters are hard-coded:
  - Distance Precision = 10
  - Fill Gap = ON
  - Use Median Filter = OFF
- When rendering multiple frames, the Iris and the layers images, must be present within
  the range of all frames to be rendered.
- This effect uses a lot of RAM.

#### ● License Information

- This effect uses an open source library called Kiss FFT for the Fourier transform.

> This is the BSD-style license for the KissFFT.
> Copyright (c) 2003-2010 Mark Borgerding
> All rights reserved.
> Redistribution and use in source and binary forms, with or without modification, are permitted provided that
> the following conditions are met:
> * Redistributions of source code must retain the above copyright notice, this list of conditions and the following
> disclaimer.
> * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
> following disclaimer in the documentation and/or other materials provided with the distribution.
> * Neither the author nor the names of any contributors may be used to endorse or promote products derived
> from this software without specific prior written permission.
> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
> EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
> SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
> OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
> OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
> SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.