Difference between revisions of "ImagePipeline"

From LuxCoreRender Wiki
Jump to navigation Jump to search
(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.
 
== Radiance Group (aka Light Group) ==
 
 
Shows only the contribution of lights with the ID of the radiance group.
 
  
 
= 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.