Switch between thin-lens and Polynomial Optics lens models.
Thin-lens is computing bokeh as quickly as possible, with emperical aberrations.
Polynomial Optics is the state of the art is fast, accurate lens simulation.
A multiplier on the bidirectional sample count. The actual sample count is adaptive over the image (modulated by screenspace area of the bokeh, etc). Reasonable values range from of 1-50. Setting this parameter to 0 will disable the bidirectional component.
In Houdini, this should generally be set to
M (when assuming 1 houdini unit is 1 meter).
In Maya, this should be set to
In C4D, this should be equal to the global export scale in the render settings.
Default is the width of a full frame sensor
[36 mm]. Adjustments to the sensor size result in different effective focal lengths of the lens.
The f-stop is a dimensionless number that is a quantitative measure of lens speed. Practically, it is the ratio of the distance from the lens to the point where the focused light converges (the focal length) over the diameter of the aperture.
Distance between the lens and the focal plane in centimeter.
Disabling makes the aperture an infinitesimal point.
Amount of aperture blades. Lower than 3 means perfectly circular.
Multiply the exposure of the whole render.
There's many different lenses to choose from, each with multiple focal lengths pre-computed. See all of the lens models on this page.
Lentil is a spectrally-plausible system. But since Arnold is an RGB renderer, we render at a single wavelength.
Note that one *could* render the same image 3 times with different wavelengths and combine them (1 for each channel) into an image with physically plausible chromatic aberration.
The autofocus system is more complicated for polynomial optics than for the thinlens model. This option allows you to slightly push the sensor forward and backward to fine-tune the focus (if needed!).
Distance between the lens and the point at which the light converges in millimeters
Sometimes referred to as the cat-eye effect, this is a lens imperfection that is not caused by the glass but by the outer edge of the lens housing, also known as the exit aperture. When the main aperture is fully open, light coming into the camera from steep angles will be blocked partially by the edge of the lens. This creates cat-eye like bokeh shapes near the edges of an image. It should be noted that this lens effect is purely mechanical and can not be confused with lens distortion.
The param: optical_vignetting is the distance from the main aperture to the end of the lens housing.
Each time a ray is vignetted (stopped by the lens housing), a new one gets created with a different direction. Then this ray is tried. The amount of such allowed tries is the parameter param: vignetting_retries.
Due to the spherical nature of lenses, light cannot be focused onto exactly a singular point.
Emperical distortion aberration. Note that lenses with a short focal length will generally exhibit greater amounts of distortion. We chose to not automatically model this, but rather keep it up to the user for greater artistic control.
Emperical coma aberration. There may be slight discrepancies between forward and bidirectional results.
This scales the bokeh along the x-axis.
Sometimes for artistic purposes you might want to make the bokeh a little more square. This can sometimes happen with anamorphic lenses.
This option replaces the circular/polygonal aperture with a texture-based one. Sometimes you might want to use a bokeh kernel that looks a little bit more organic, such as e.g:
Most image formats are supported.
Since we are modeling real lenses, it is possible that the light ray hits the housing of the lens. If this happens, a new light ray is sent out in a different direction. This parameter is the number of times that this is allowed to happen. Practically, the higher this number, the more true to real-life vignetting. But this comes combined with higher computation times around the vignetting border.
Sometimes for artistic reasons, you might want to boost the intensity of the bokeh (all pixels with energy above param: bidir_add_energy_minimum_luminance) a bit.
Only samples with a value above this parameter will be considered.
This allows for a smooth transition, so that the additional energy does not flicker when the treshold is reached.
When boosting the bokeh, a transition zone is needed or you'll get annoying flickering. This transition zone is measured in linear energy.
WARNING: this should not be used, unless in very specific circumstances. For example, when you might be rendering a set of led lights which are behind a transmissive surface, but where the depth information is practically the same. Or when you are inside the transmissive medium, such as underwater. In any other case, this option should be avoided.