Support & Feedback
We are committed to providing you with the best support and assistance for our product. If you encounter any issues or have feedback to share, please do not hesitate to contact us at cincraft-virtuallens-feedback.pno@zeiss.com.
To help us address your concerns efficiently, we kindly ask you to prepare a minimal reproducing composition in Nuke. This will enable us to better understand and replicate the issue, ensuring a more effective resolution. Your input is invaluable to us, and we appreciate your cooperation in enhancing the quality of our product.
Introduction
Welcome to LensCore, a cutting-edge tool designed to
bring the renowned precision and quality of ZEISS optics into the realm
of virtual effects for the cinema industry. Leveraging our rich heritage
in optics and lenses, LensCore enables postproduction
professionals to accurately simulate the distinctive looks of physical
lenses within their digital compositions. Embedded seamlessly into The
Foundry’s Nuke software, this tool empowers users to enhance their
projects with the authentic characteristics of ZEISS and 3rd party
lenses.
A Brief History of ZEISS
ZEISS has been at the forefront of optical innovation since its
founding in 1846. With over 130 years of expertise in crafting
high-quality lenses, ZEISS has played a pivotal role in advancing
optical technologies across various industries, including cinema,
photography, and scientific research. Our commitment to precision and
excellence has made ZEISS a trusted name worldwide, and
LensCore continues this legacy by bringing our expertise in
optics to the digital domain.
Features of LensCore
LensCore offers a range of features that simulate the
nuanced effects of physical lenses, including:
- Cateyes: Mimic the unique shape of bokeh highlights.
- Chromatic Aberrations: Recreate the color fringing effect seen in real lenses.
- Defocus: Apply realistic blur to out-of-focus areas.
- Depth of Field: Achieve natural focus transitions based on depth data.
- Spherical Aberration: Simulate the softening effect of spherical lens imperfections.
- Vignette: Add subtle darkening around the image edges.
Prerequisites
Operating Systems
Only 64bit builds
- Windows 10, 11
- VFX 2023 reference platform: Red Hat Enterprise Linux 9, Rocky Linux 9, Alma Linux 9
Nuke Compatibility
We offer builds for all actively supported versions of Nuke. Currently these are:
| Nuke 14 | Nuke 15 | Nuke 16 | Nuke 17 |
|---|---|---|---|
| 15.0 | 16.0 | 17.0 | |
| 14.1 | 15.1 | 16.1 | |
| 15.2 |
OpenCL
Currently the plugin can only run with an OpenCL runtime in version 2.0 (or higher). There are several implementations available for the different operating systems and different hardware configurations.
On linux the available OpenCL devices can be listed by
clinfo which can be installed via the package manager.
❯ clinfo --list
Platform #0: Intel(R) CPU Runtime for OpenCL(TM) Applications
`-- Device #0: 12th Gen Intel(R) Core(TM) i7-12700H
Platform #1: Intel(R) OpenCL Graphics
`-- Device #0: Intel(R) Iris(R) Xe Graphics
Platform #2: NVIDIA CUDA
`-- Device #0: NVIDIA GeForce RTX 3050 Ti Laptop GPU
GPU devices
With a GPU-system, the OpenCL runtime typically is packed with the graphics driver. It is highly recommended to run this plugin on a graphics card or an other accelerated OpenCL device. At least 8GB of GPU video memory (VRAM) are recommended for the plugin.
CPU devices
There are OpenCL CPU runtimes available aswell, but be aware that they might be up to x100 slower than a recent GPU for processing (depends on the detailed system spec). Even the variance in OpenCL CPU implementations we observed during testing was huge. On the exact same hardware we measured a difference of up to x10 for different CPU runtime implementations for our lens rendering.
https://www.intel.com/content/www/us/en/developer/articles/tool/opencl-drivers.html#cpu-section
Intel OneAPI for Red Hat Enterprise Linux 9, Rocky Linux 9, Alma Linux 9
The plugin has been tested sucessfully with the Intel OneAPI OpenCL runtime implementation. To install, follow the instructions from Intel:
First of all import the repository and make it available for
dnf or yum.
Afterwards install the necessary components by:
dnf install -y --disablerepo=appstream intel-oneapi-runtime-openclto force installation from the intel repository.
pocl
pocl is a CPU implementation packaged by most linux
distributions that is not compatible with our
plugin.
Install Licenses
The plugin relies on RLM for licensing. You can use node-locked licenses by simply putting them into the plugin’s root dir, or floating licenses by connecting to Nuke’s license server.
In order to change where the license is read from, set the
environment variable ZEISS_CINCRAFT_LENSCORE_LICENSES to,
e.g. 4101@nuke.license.server. It is possible to give
multiple locations as well,
e.g. 4101@nuke.license.server:/home/user/licenses/ (use ;
on Windows systems).
To install a license on your Nuke license server, place the ZEISS ISV
file zeiss.set next to RLM’s foundry.set and
upload your .lic files to its licenses path.
Attach ZEISS ISV to an Existing RLM Server
The generic RLM process for adding a new ISV to an already running server is:
- Add the new ISV server component (
zeiss.set) where the RLM server can find it. - Add ZEISS
.licfile(s) to the license path used by the running RLM service. - Trigger a license reread (
rlmreread) so RLM picks up new files and starts new ISV servers. - Verify that the ZEISS ISV appears in server status output.
RLM references:
- License server startup processing: https://docs.reprisesoftware.com/docs/admin/the-license-server.html#license-server-startup-processing
rlmreread: https://docs.reprisesoftware.com/docs/admin/license-admin-tools.html#rlmrereadrlmstat: https://docs.reprisesoftware.com/docs/admin/license-admin-tools.html#rlmstat
Typical Paths
Windows (Foundry Licensing Utility setup):
- ISV settings files (
foundry.set,zeiss.set):C:\Program Files\The Foundry\LicensingTools8.0\bin\RLM\ - License files (
*.lic):C:\ProgramData\The Foundry\RLM\
Linux (typical RHEL-style setup, adjust to your service definition):
- ISV settings files (
foundry.set,zeiss.set): often alongsiderlmbinary (for example/opt/foundry/LicensingTools*/bin/RLM/) - License files (
*.lic): often a dedicated data path (for example/var/opt/foundry/rlm/)
If your deployment differs, follow your rlm startup
-c argument and service working directory.
No-Restart Command-Line Procedure
If you prefer no service restart, use rlmreread:
Windows:
cd "C:\Program Files\The Foundry\LicensingTools8.0\bin\RLM"
.\rlmutil.exe rlmreread
.\rlmutil.exe rlmstat -aLinux:
cd /path/to/rlm/bin
./rlmutil rlmreread
./rlmutil rlmstat -aExpected result: rlmstat -a shows the ZEISS ISV in the
ISV server list with status Running/Yes.
Optional Full Restart Procedure
If reread is not sufficient in your environment:
- Restart the RLM service.
- Run
rlmstat -aagain and confirm ZEISS server availability.
Client Configuration Reminder
Clients should point to the RLM server as port@host, for
example 4101@nuke.license.server.
For Lenscore, this maps to:
ZEISS_CINCRAFT_LENSCORE_LICENSES=4101@nuke.license.server
Quick Start
The following figure visualizes the minimal usage of the plugin in a Nuke composition.
By executing the following steps, a minimal rendered image can be produced using the plugin:
- Select a lens in the
Lenstab of the node instance - Ensure the Camera’s properties are correctly set. (See Interface → Camera)
- Ensure
World to metermatches the given input texture.
Selecting the Supreme Prime 50 1.4T with a focus of 1.6
m, a fstop of 1.4f produces the following image.
Interface
Node Inputs
Camera (required)
The following elements are used directly from the given Nuke Camera.
- World to Meters
world_to_meters: The plugin has a ownworld_to_meterknob in it’s user interface. The value of the camera (if present) is used as a default value for the internal one. If different factors are specified, the software will always prioritize it’s internal value. - Focal Length
focal: The plugin has an ownlens_focal_lengthknob in it’s user interface. It is only enabled if the selected lens is a Zoom-Lens, that allows to vary the focal length. By default the camera’s value will be linked to the internal one. The software will always read the internal value. - Horizontal Aperture
haperture: This value will be used as the simulated horizontal sensor size in [mm]. If the aspect ratio ofhaperturetovaperturedoesn’t match the current format aspect ratio, a warning will be displayed in the plugin. - Vertical Aperture
vaperture: This value will be used as the simulated vertical sensor size in [mm]. If the aspect ratio ofhaperturetovaperturedoesn’t match the current format aspect ratio, a warning will be displayed in the plugin. - Focal Distance
focal_point: Thefocal_pointin the camera is defined in the scene unit and thus will be converted with the currently active World to Meters factor. It is used to define the focus area of the scene. - Fstop
fstop: Defines the current iris f/t-stop setting. The plugin has an additional internal option to select this knob’s unit. If the bounds of the currently selected lens are exceeded, a warning will appear.
DeepImage
The plugin only supports Nuke’s Deep-Workflow. Nevertheless
it is not required to render the data with a real deep pass. Oftentimes
studios used a layered approach with multiple cuts of a scene in
RGBA+Depth. Those can be indivdually converted using the Nuke internal
DeepFromImage node and combined using
DeepMerge. As the plugin correctly resembles physics
through the virtual scene, it is adviced to combine all the data to a
single stream before the plugin. Often a single instance of the
plugin may be the best option.
Nuke expects the depth.Z pass to be in the unit of
1/z. If the renderer outputs forward values (e.g. meter),
an Expression node is required to correct the
depth.Z to the correct representation. Using
DeepFromImage afterwards will automatically convert the
1/z depth.Z values to a forward representation for
deep.front and deep.back.
Ensure to use the Expression node either after shuffling
the data to depth.Z or do it on the correct color channel
that currently holds the scenes depth.
Kernel (optional)
Real world lenses do often induce certain characteristics by manufactoring imperfections that project in the bokeh of the lens. Well known examples are Onion-Rings or other patterns looking like a mixture of swiss cheese and moonscape.
It is extremely important to use this feature only for the shapes and the grain/crater charateristics inside the bokeh. Other characteristics like outline, iris shape, spherical aberration and cateye will be induced in a physically correct manner by the plugin anyhow!
To ensure the kernel texture is not limiting the physical bounds, a best practice is to define no circular pattern, but simply have the full image defined like so:
The kernel texture will be internally converted to grayscale, so no color is preserved throughout the bokeh. If this is necessary, feel free to reach out to us.
Inpaint Map (optional)
The inpaint map needs to have the exact same format/resolution as the
image, otherwise it will fail. The input is only in use when
Use Inpainting is enabled.
This optional input allows to partly scale the effect of the
inpainting on a per-frame basis. Typical usecases are in combination
with Nuke’s RotoPaint knob to either manually enable areas
in a black texture, or use it the other way round by using a white
texture by default and disabling the parts that shall not be inpainted.
The best visualization for the inpainting is the Edge detection
visualization, as no lens effects are visible in this mode. Only the
red channel of the texture is used by the plugin. The
red channel value will be multiplied by the
Inpainting intensity field. 0 will fully
disable inpainting and also the edge detection in this area. With edge
detection turned off also Enhancement/Step 4 is disabled.
Values > 0 will scale the inpainting effect accordingly.
Environment Variables
The plugin provides several environment variables to configure its behavior, particularly useful for guided customer support and internal testing procedures.
Here’s a list of key environment variables:
| Environment variable | Description |
|---|---|
ZEISS_CINCRAFT_LENSCORE_DIR |
Allows to override the default lens directory. The currently active
lens directory can be inspected by hovering on the
open_lens_directory button |
ZEISS_CINCRAFT_LENSCORE_TELEMETRY_DIR |
Allows to specify the default telemetry destination directory used by the plugin. |
The plugin uses https://www.boost.org/ under the hood
- specifically the compute module. It offers environment
variables to customize the default OpenCL device used by the system.
Table from the source boost/compute/system.hpp.
| Environment variable | Description |
|---|---|
BOOST_COMPUTE_DEFAULT_DEVICE |
name of the compute device (e.g. “GTX TITAN”) |
BOOST_COMPUTE_DEFAULT_DEVICE_TYPE |
type of the compute device (e.g. “GPU” or “CPU”) |
BOOST_COMPUTE_DEFAULT_PLATFORM |
name of the platform (e.g. “NVIDIA CUDA”) |
BOOST_COMPUTE_DEFAULT_VENDOR |
name of the device vendor (e.g. “NVIDIA”) |
BOOST_COMPUTE_DEFAULT_ENFORCE |
If this is set to “1”, then throw a no_device_found() exception if any of the above environment variables is set, but a matching device was not found. |
UI Description
Tab: Main
Group: Input_properties
Contains 2 elements:
World to Meter,Extra Channels
Everything in this group tells the plugin, how to see the world. This currently are the world scale, as well as what additional channels to “see” and work on.
Knobs: World to Meter
world_to_meter, Slider,
default: 0.000000
Factor to multiply the world unit with to get meters. Examples: 0.1 for decimeter, 0.01 for centimeter, 0.001 for millimeter
The value to enter is the multiplier needed to transform the image data into meters.
Example: The input data is in cm scale. To transform a centimeter scale to meters, we need to divide the actual number by 100, resulting in a “world to meter” factor of 0.01.
If the value is wrong, render time will increase drastically and the whole image will be in defocus.
Knobs: Extra Channels
input_channels, channelset
Allows to add up to 3 additional channels to the processing. The channels will be treated identical to the RGB colors except for the vignette. RGBA + deep.front will be always used for the effect calculation.
The extra channels option can be used to create matching masks for elements in the defocus chain.
Given the following example of the second chair in the example scene.
The alpha layer shall be used to create a mask to later recolor and finetune some elements of the scene. In this case the second chair. The mask needs to represent occlusion, distortion and lens breathing. All these transformations can be done to the mask alongside the actual lens effect application.
With this additional info of the second chair’s alpha channel, we can
enable thee extra_channels feature in the plugin:
The resulting mask can be used by e.g. ColorCorrect node
to manipulate the chair after the lens effects have been applied.
Group: Render_quality
Contains 5 elements:
Quality Level (GUI),x,Quality Level (Farm),x,Disable rendering optimizations
The lens effect simulation is a complex algorithm. In order to find the best trade-off between quality and speed, the quality level can be tweaked here.
Knobs: Quality Level (GUI)
quality_level, Dropdown,
default: Medium
Options: [
PreVis,Low,Medium,High,Ultra]
The quality level required. Higher values mean higher computation times in the gui.
This option only applies for Nuke instances with a graphical interface. It will be ignored for headless instances, e.g. on a rendering farm.
In order to get a quick preview or a spotless image, select one of the quality levels PreVis (pre-visualization), Low, Medium, High, Ultra. High and Ultra come with a multiplicator.
Knobs: x
quality_scale, Slider,
min: 0.2, max: 5,
default: 1.000000
Keeps the settings of the selected quality level, but scales identified elements by the applied factor.
This option only applies for Nuke instances with a graphical interface. It will be ignored for headless instances, e.g. on a rendering farm.
Only applying to quality levels “High” and “Ultra”, the quality scale increases the output quality over the given bounds.
Knobs: Quality Level (Farm)
quality_level_nogui, Dropdown,
default: High
Options: [
PreVis,Low,Medium,High,Ultra]
The quality level required. Higher values mean higher computation times on the farm.
This option only applies for Nuke instances without a graphical interface. It will be ignored for local instances with a visible UI.
In order to get a quick preview or a spotless image, select one of the quality levels PreVis (pre-visualization), Low, Medium, High, Ultra. High and Ultra come with a multiplicator.
Knobs: x
quality_scale_nogui, Slider,
min: 0.2, max: 5,
default: 1.000000
Keeps the settings of the selected quality level, but scales identified elements by the applied factor.
This option only applies for Nuke instances without a graphical interface. It will be ignored for local instances with a visible UI.
Knobs: Disable rendering optimizations
disable_adaptive_ray_count, Checkbox,
default: 0
Disables ALL performance optimizations. Quality levels still have an effect. WARNING: will be slow! Only use if artifacts cannot be removed otherwise.
Disables all optimizations. This will get rid of all artifacts that are due to optimizations to the lens effect core algorithm.
Important: Only check this box if visual artifacts are present, that cannot be fixed with other means e.g. inpainting. If the malfunction is not a rendering relict of the internal optimizations, uncheck this box again for better performance.
Group: Bounding_box
Contains 2 elements:
Show overscan coordinates,Increase Bounding Box by pixels
Knobs: Show overscan coordinates
overscan_visualization, Checkbox,
default: 0
The scanned area will be displayed in absolute scene coordinates. Inactive in no-gui mode.
Knobs: Increase Bounding Box by pixels
bounding_box_expansion, Number,
default: 0
Adds selected amount of pixels as padding. Image dimensions will grow by 2*value in both width and height.
Group: Feedback
Contains 2 elements:
Local telemetry log folder:,Report Issue
Knobs: Local telemetry log folder:
telemetry_folder, FilePicker
If nothing is selected the logging directory can be selected with the environment variable ‘ZEISS_CINCRAFT_LENSCORE_TELEMETRY_DIR’. By default the lens directory will be used as a fallback. Current fallback destination: ZEISS_CINCRAFT_LENSCORE_DIR
Our software collects telemetry data to aid support and further development. Telemetry is entirely opt-in; all collected data is stored locally on the user’s device and requires manual transmission by the customer, ensuring no data exchange occurs by default. This data is strictly unpersonalized, meaning it does not include any personal information or identifiers. Importantly, no sensitive information, such as image content, is collected during the process. We only gather metadata, such as usage patterns, system and feature configurations, to help us understand how our software is being used and identify areas for improvement. Additionally, the data is formatted in a human-readable manner, allowing customers or their IT departments to review and oversee the information before it is sent to ZEISS.
Knobs: Report Issue
provide_feedback_btn, Button
Will open a preconfigured mail in the OS’s default mail program. It will automatically fill the draft with important information. Nothing is sent automatically, user has to always send out the mail manually. All information is copied to the clipboard automatically aswell.
Use this button to get in contact with the ZEISS service. Please follow the instructions in the mail draft to provide as much information about either your feedback or issues. Your insights will help us enhance the plugins functionality and better meet your needs.
Knobs: Clear plugin cache
clear_cache, Button
This plugin utilizes an internal cache to avoid reloading the input image with every call. However, there are instances when Nuke updates the input image without refreshing the previous hash. As a result, the plugin may continue to render using the outdated input image. If you notice that changes in the scene are not reflected in the plugin’s output, click this button to clear all internal caching within the plugin.
Knobs: Open Documentation
open_documentation, Button
Opens local copy of the documentation with the default html tool, probably the browser. The version of the documentation is guaranteed to match the version of the currently loaded plugin.
The button is only visible if a file called
LensCore.<VERSION_HASH>.html or
documentation.html with the current version hash exists in
the nuke plugin path.
Tab: Lens
Here, all the configuration about the simulated lens look happens. In the simplest case, just choose a lens, and the effect is applied.
Currently, there are three kinds of lenses provided:
- The
ZEISS DigitalLens Lite, which is only a generic defocus, - Generated lenses, e.g. “Supreme Prime 50” - these lenses are based on real world lenses, and come packed with all the lens effects. They are slightly tweakable to allow for compensation of wear&tear.
- The
ZEISS DigitalLens Prois a lens that gives complete artistic freedom. Effects will still be applied physically correct. To allow for an easier exchange and re-use of this configurable lens, “presets” are available.
Depending on the selected lens, you will see more or less content on the lens tab.
Knobs: Lenses
lens_dropdown, Dropdown,
default: Other (enter path)
Options: [
Please select a lens...,Other (enter path)]
Knobs: Lens path
lens_file, FilePicker
Knobs: Presets
preset_dropdown, Dropdown,
default: New preset...
Options: [
New preset...]
Select a preset here. Presets are stored in ZEISS_CINCRAFT_LENSCORE_DIR as zlp files.
Presets are a simple way to store and share user-created artistic lenses. They are a file representation of how the Artificial Lens has been set up.
Presets are currently stored in the lens dir, but as “.zlp” files. Selecting a preset in the drop down box will automatically apply the preset. Applying a preset will replace all look-relevant values in the Lens tab. Saving a preset will overwrite the file, replacing all stored values.
Knobs: Reset
preset_reset, Button
Revert all changes to the currently selected preset defaults
Knobs: 
open_lens_directory_in_explorer,
Button
Open the current lens folder specified in environment variable ZEISS_CINCRAFT_LENSCORE_DIR: ZEISS_CINCRAFT_LENSCORE_DIR
The Nuke tooltip will reveal the exact evaluated path of the lens directory folder. If the folder doesn’t exist, it will be created automatically.
Knobs:
/ 
preset_collapse, Button
preset_expand, Button
Hide extra options
More options for presets
Knobs: Save
preset_save, Button
Preset is saved to its file. If it doesn’t yet exist, behaves like save as.
Knobs: Save as
preset_save_as_init, Button
Opens the Save As configuration
Knobs: Scan for presets
preset_refresh_dropdown, Button
Scan for presets in ZEISS_CINCRAFT_LENSCORE_DIR and refresh dropdown
Knobs: Preset name:
preset_name, Text
Will be displayed in dropdown menu.
Currently, names must be unique.
Knobs: Preset description:
preset_description, Text
More detailed description. Not yet displayed except here.
This value is only stored and read from and to his textbox. It currently is not used otherwise.
Knobs: Preset artist:
preset_artist, Text
Preset artist/vendor. Not yet displayed except here.
This value is only stored and read from and to his textbox. It currently is not used otherwise.
Knobs: Filename:
preset_filename, FilePicker
Where to store the preset. Currently only will be found in lens dir: ZEISS_CINCRAFT_LENSCORE_DIR
Currently, all presets MUST be placed in the lens dir for the Plugin to find them.
Knobs: Abort
preset_save_as_cancel, Button
Close the save dialog, do not save.
Knobs: Save
preset_save_as_execute, Button
Executes save as with the given settings. Warns before overwriting a file.
Knobs: Focal length of the lens
lens_focal_length, Slider,
min: 1, max: 100,
default: 30
The focal length the currently selected lens shall use.
Knobs: Lens design sensor width
lens_design_sensor_width, Slider,
min: 1, max: 100,
default: 36
The design sensor width of the currently replicated physical lens.
Knobs: Lens design sensor height
lens_design_sensor_height, Slider,
min: 1, max: 100,
default: 24
The design sensor height of the currently replicated physical lens.
Knobs: Original lens characteristics
original_lens_characteristics, Checkbox,
default: 1
Disable to tweak the different lens effects
Knobs: Match scene with lens focal length
match_scene_with_lens_focal_length,
Checkbox, default: 1
Disable to enable zoom behavior for lenses
This value is intended to be used when no exactly matching lens is available.
Given a 45 mm rendered scene and a selected 55 mm lens, if the parameter is set, the scene is to rescaled to match the FOV of the lens and no zooming into the scene happens. Unsetting the parameter would cause the 55 mm lens to naturally zoom into the scene.
Group: Bokeh Preview
Contains 3 elements:
Preview the bokeh,Use camera data for preview,Preview divider location
Knobs: Preview the bokeh
enable_bokeh_preview, Checkbox,
default: 0
Creates a perforation board to preview the currently configured lens effects. Uses generic focus point and wall distances.
This checkbox enables the bokeh preview.
In order to see the behavior of the effect, two black walls with backlights are created: the left wall is placed in front of the focus, the right wall is placed behind the focus. The two walls will be separated by a white line. All together, this will look like a perforated plate over two depths:
The effect is applied to this just like any other scene. All lens effect settings are in place. It is not possible to render this preview in headless mode.
Knobs: Use camera data for preview
bokeh_preview_use_view_data, Checkbox,
default: 0
Simulates the behavior with current Camera settings. Can have an effect on maximal possible bokeh sizes.
While only enabling the bokeh preview will create perforated plates specifically to get a bokeh as large as possible, it’s using a fixed focus and f-stop. Using camera data will allow to preview the actual bokeh as it will be seen in the scene.
Knobs: Preview divider location
bokeh_preview_divider_location, Slider,
min: 0, max: 1,
default: 0.600000
Moves the border between front and back defocus
This slider allows to move the white line (and with it the border between front and back defocus) across the image.
Group: Aperture
Contains 6 elements:
Aperture Stop,Number of aperture blades,Aperture blade curvature,Aperture rotation offset,Simulated minimum fstop,Fstop rotation scaling
Knobs: Aperture Stop
stop_type, Dropdown,
default: Fstop
Options: [
Fstop,Tstop]
Fstop is typically used for CGI renderings. No transmittance losses are taken into account for. Tstop is the default unit for engravings on real lenses.
Allows the use of the Camera node’s f-stop as a t-stop (as it is
typically used for real world footage). This option is not
available for ZEISS DigitalLens lenses,
i.e. ZEISS DigitalLens Lite and
ZEISS DigitalLens Pro.
Knobs: Number of aperture blades
num_aperture_blades, Number,
default: 0
Sets the number of aperture blades freely.
Use 0 to disable and use no aperture blades. Invalid
values will round to the next valid one, e.g. inputs of 1 or 2 will be
treated as 3 blades.
Knobs: Aperture blade curvature
aperture_blade_curvature, Slider,
default: 0.000000
Sets curvature on the aperture blades. 0 for no curvature, 1 for full circle curvature.
This is treated as an interpolation factor of how close the blades are to a circle. The physical pendant to this feature is the curvature in the aperture fins. With a curvature of 1, the blade effect is fully deactivated independent of the setting in Number of aperture blades. The example images below are rendered with 3 blades.
Knobs: Aperture rotation offset
aperture_rotation_offset, Slider,
min: 0, max: 360,
default: 0.000000
The rotation offset of the aperture in deg (positive numbers rotate clockwise).
Knobs: Simulated minimum fstop
override_min_fstop, Slider,
default: 0.000000
Simulates the minimum fStop. Will impact the interaction between aperture blades and cateye simulation. Should match the physical lens pendant that is simulated. Minimum fstop: 1.0 - set to 0 to use lens default.
This feature is only available for the
ZEISS DigitalLens Pro. This allows to define the fStop that
corresponds to full the designed cateye shape by using Cateye Bokeh Simulation.
The same minimum fStop is used as a starting point for the blade
rotation simulation. With increasing fStop, the cateye is less and less
visible, as the resulting bokeh is limited by the aperture blades.
The following renders have been made all with the exact same lens
settings with the ZEISS DigitalLens Pro with 5 aperture
blades and cateye simulation active. The Camera fStop is set to
2.0 for all tests - only the
Simulated minimum fStop option is modified in between
renderings.
Knobs: Fstop rotation scaling
aperture_fstop_rotation_scaling, Slider,
default: 1.000000
The aperture shape rotation is directly related to the selected f-stop. Changing the f-stop results in a dynamic adjustment of the aperture blades’ rotation. This knob controls the scaling of that f-stop-dependent rotation.
A value of 0 disables the fStop dependency on the
rotation offset. Negative values will reverse the direction from
clockwise to counter-clockwise.