Difference between revisions of "ImagePipeline"
(Created page with "= Overview = The image pipeline is LuxCore's built-in mini-compositor.<br> It is plugin-based. The plugins are evaluated one after the other, each one taking the output of th...") |
|||
Line 60: | Line 60: | ||
Creates contour lines for the IRRADIANCE AOV. | Creates contour lines for the IRRADIANCE AOV. | ||
= Special Plugins = | = Special Plugins = | ||
Line 86: | Line 82: | ||
Can be used to get any film channel as input of the image pipeline, for example the MATERIAL_ID channel if you want to perform tonemapping steps on it. | Can be used to get any film channel as input of the image pipeline, for example the MATERIAL_ID channel if you want to perform tonemapping steps on it. | ||
== Radiance Group (aka Light Group) == | |||
Shows only the contribution of lights with the ID of the radiance group. | |||
= For Developers = | = For Developers = |
Revision as of 13:57, 16 April 2018
Overview
The image pipeline is LuxCore's built-in mini-compositor.
It is plugin-based. The plugins are evaluated one after the other, each one taking the output of the previous plugin as its input.
The end result is available in form of the RGB(A)_IMAGEPIPLINE AOV.
Available Plugins
Tonemappers
Linear Tonemapper
Simply multiplies all pixels in the image with the scale value.
Autolinear Tonemapper
Similar to the linear tonemapper, but estimates the average brightness in the scene to compute the scale value automatically.
Reinhard02 Tonemapper
An implementation of the reinhard tonemapper: http://www.cmap.polytechnique.fr/~peyre/cours/x2005signal/hdr_photographic.pdf
LuxLinear Tonemapper
Similar to the linear tonemapper, but the scale value is derived from ISO sensitivity, exposure time and aperture. Can be used to match footage taken with a real camera.
Effects
Camera Response Function
Simulates analog films.
Background Image
Shows the specified image on pixels that have alpha < 1.
Note: When the size of the background image differs from the film size, it will be stretched to fit the film size.
Bloom
Blurs the input and blends the result over the input.
Can be used to simulate real-world camera sensor imperfections.
Vignetting
Darkens the corners of the image. Used to simulate real-world camera lens imperfections.
Color Aberration
Creates color fringes on pixels with high contrast. The effect is stronger in the image corners.
Used to simulate real-world camera lens imperfections.
Mist
Similar to simple OpenGL mist/fog. Uses the depth channel to fake mist.
Should be used with a small amount setting to simulate aerial perspective on geometry that is far away from the camera.
Note that since the depth channel is not anti-aliased, it will create jagged edges when the effect is too strong.
Contour lines
Creates contour lines for the IRRADIANCE AOV.
Special Plugins
These plugins are for internal use by exporters/addons/plugins that use the LuxCore API. The end-user will probably not come into contact with them.
NOP
Does not modify the input, simply pipes it to the output. Can be used to define an empty imagepipeline.
Gamma Correction
Performs gamma correction.
Gaussian Filter 3x3
Blurs the image.
Output Switcher
Can be used to get any film channel as input of the image pipeline, for example the MATERIAL_ID channel if you want to perform tonemapping steps on it.
Radiance Group (aka Light Group)
Shows only the contribution of lights with the ID of the radiance group.
For Developers
For details on how to define an imagepipeline with properties, see LuxCore_SDL_Reference_Manual_v2.0#Image_pipeline the SDL manual.
Creating new Plugins
Plugins are written in C++ and can optionally be accelerated with OpenCL.
Here is a tutorial on how to write a plugin.