Composer¶

Composer¶
The Composer is where post-processing effects are applied to enhance the final rendered output. It allows you to configure a series of processing nodes, an output node, and one or more camera nodes.
At minimum, a composition requires:
A camera node: Captures the view from a camera in your scene.
An output node: Displays the final processed image.
The camera’s color output slot must be connected to the output node’s color input slot. This basic setup renders the camera view on screen without any post-processing. Additional nodes can be inserted to apply effects, and multiple camera nodes can render additional views, such as UI overlays, minimaps, or backview mirrors.
Available Nodes¶
The following table lists the available nodes and their purposes:
Node |
Description |
---|---|
Adjust |
Provides controls for tweaking brightness, contrast, saturation, and other image properties. |
Bloom |
Adds a glowing effect to bright areas, simulating light scattering and creating a soft, dreamy appearance. |
Blur |
Applies a general blur effect to soften the image, often used for artistic or depth-based effects. |
Camera |
Renders a camera view from your scene. |
Chromatic Aberration |
Splits colors slightly at the edges of objects, mimicking lens imperfections for a more realistic or stylized look. |
Depth of Field |
Simulates camera focus by blurring objects outside the focal plane, enhancing realism or guiding the user’s sattention. |
Film |
Simulates film grain and scanlines to give a cinematic or television look. |
FXAA |
Fast Approximate Anti-Aliasing algorithm reduces jagged edges on objects for smoother visuals without a high performance cost. |
Glitch |
Creates a digital distortion effect, simulating video signal issues for dramatic or futuristic aesthetics. |
Kawase Blur |
Produces a fast and efficient blur effect. The Kawase Blur is ideal for creating smooth and visually appealing softening effects, often used in bloom, depth of field, or UI background. |
Merge |
Combines multiple image inputs into a single output, often used for layering effects or compositing views. |
Outline |
Adds a contour around objects, enhancing their visibility and separation from the background. |
Output |
Represents the final output node, which receives the processed image. Only one output node is allowed per composition. |
Pixelation |
Reduces the image resolution, creating a pixelated effect often used for retro-style visuals. |
Radial Blur |
Creates a blur effect radiating outward from a point, useful for simulating speed or focus shifts. |
Scanline |
Adds horizontal lines to simulate old CRT screens, evoking a retro or analog atmosphere. |
SSAO |
Screen Space Ambient Occlusion enhances realism by simulating shadowing in crevices and corners where light would naturally be occluded. |
Texture |
Allows applying a custom texture to the composition, often used for overlays or additional layering visual elements. |
Tone Mapping |
Adjusts color tones and luminance, often used to map HDR content to standard displays. |
Vignette |
Darkens the edges of the screen, drawing attention to the center of the frame for a more focused and dramatic effect. |
Adjust¶
The Adjust Node allows fine-tuning of brightness and contrast within the rendering pipeline. This effect is useful for enhancing visibility, achieving artistic effects, or balancing the overall image tonality.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node for reference. |
Enabled |
A Boolean attribute that toggles the effect on or off. |
Brightness |
A Float attribute that adjusts the image’s brightness. The value ranges from 0 (completely dark) to 10 (maximum brightness), with a default of 1. |
Contrast |
A Float attribute that controls the image contrast. The value ranges from 0 (no contrast) to 10 (high contrast), with a default of 1. |
Input |
Description |
---|---|
Color Input |
An RGBImage input that receives the image to be processed by the Adjust node. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the Adjusted image result. |
Bloom¶
The Bloom Node enhances bright areas in the image by adding a glow effect, simulating light scattering. This effect is useful for creating cinematic visuals and emphasizing high-intensity light sources.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node for reference. |
Enabled |
A Boolean attribute that toggles the effect on or off. |
Strength |
A Float attribute that controls the intensity of the bloom effect. The value ranges from 0 (no effect) to 10 (maximum intensity), with a default of 1.5. |
Radius |
A Float attribute defining the spread of the bloom effect. The value ranges from 0 (localized) to 1 (widest spread), with a default of 0.4. |
Threshold |
A Float attribute that sets the minimum brightness level required for bloom to apply. The value ranges from 0 (applies to all brightness levels) to 1 (applies only to the brightest areas), with a default of 0.8. |
Input |
Description |
---|---|
Color Input |
An RGBImage input that receives the image to be processed by the Bloom node. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the image result. |
Blur¶
The Blur Node applies a smoothing effect to the image, reducing sharp details and creating a soft-focus look. This effect is useful for depth simulation, motion effects, or aesthetic softening.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node for reference. |
Enabled |
A Boolean attribute that toggles the effect on or off. |
Amount |
A Float attribute that controls the intensity of the blur effect. The value ranges from 0 (no effect) to 10 (maximum blur), with a default of 1. |
Input |
Description |
---|---|
Color Input |
An RGBImage input that receives the image to be processed by the Blur algorithm. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the blurred image result. |
Camera¶
The Camera Node serves as the primary source of scene rendering, capturing the visual output and depth information required for further processing. This node outputs color, depth, depth-comparison, normal data and camera information making it essential for rendering and post-processing effects.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node for reference. |
Tag |
A String attribute defining the tag of the camera to be used for rendering. |
Width |
A Float attribute specifying the rendering width as a percentage. The default value is 100%. |
Height |
A Float attribute specifying the rendering height as a percentage. The default value is 100%. |
Output |
Description |
---|---|
Color Output |
An RGBImage output containing the rendered color information. |
Depth Output |
A GrayImage output representing the depth information of the scene. |
Depth Comparison Output |
A GrayImage output used for comparing depth values in post-processing. |
Normal Output |
An RGBImage output containing the normal vector information of the scene. |
Camera Output |
An Attribute output containing camera-related properties and metadata. |
Chromatic Aberration¶
The Chromatic Aberration Node simulates color fringing effects that occur due to lens imperfections, separating the red, green, and blue color channels to create a subtle distortion. This effect can enhance realism or provide a stylistic visual distortion.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node for reference. |
Enabled |
A Boolean attribute that toggles the effect on or off. |
Amount |
A Float attribute controlling the intensity of the chromatic aberration effect. The value ranges from 0 (no effect) to 10 (maximum separation), with a default of 1. |
Red Factor |
A Float attribute determining the intensity of the red channel separation. The value ranges from 0 to 1, with a default of 1. |
Green Factor |
A Float attribute determining the intensity of the green channel separation. The value ranges from 0 to 1, with a default of 0.5. |
Blue Factor |
A Float attribute determining the intensity of the blue channel separation. The value ranges from 0 to 1, with a default of 0.25. |
Input |
Description |
---|---|
Color Input |
An RGBImage input that receives the image to be processed by the Chromatic Abberation node. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the node result. |
Depth of Field¶
The Depth of Field Effect simulates a camera’s focus, creating a realistic depth perception by blurring out-of-focus regions. This effect is ideal for cinematic rendering and directing the viewer’s attention to a specific area of the scene.
Field |
Description |
---|---|
World Focus Distance |
A Float attribute defining the distance from the camera at which objects appear in sharp focus. |
World Focus Range |
A Float attribute controlling the range around the focus distance where objects remain sharp. |
Focus Target |
A String a tag to an object to enable autofocus. If empty, the focus is given by World Focus Distance. If given, World Focus Distance is ignored and the focus is automatically computed to the target object. |
Kawase Blur Kernel Size |
An Integer attribute defining the kernel size of the blur applied to out-of-focus areas. See the Kawase Blur documentation for more information. |
Bokeh Scale |
A Float attribute adjusting the intensity of out-of-focus light artifacts, known as Bokeh. |
Resolution Scale |
A Float attribute adjusting the resolution of the effect to optimize performance. Lower values increase performance at the cost of precision. |
Enable Debug |
A Boolean attribute enabling debug mode for the Depth of Field effect, providing visual debugging tools. |
Input |
Description |
---|---|
Color Input |
The primary color image to which the depth of field effect is applied. |
Depth Input |
The depth map used to calculate focus distances and blurring. |
Camera Input |
Provides camera parameters needed for depth calculations. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the node result. |
Film¶
The Film Node simulates classic film effects, including grain, scanlines, and optional grayscale rendering. It can be used to add a cinematic or vintage look to a scene.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node for reference. |
Enabled |
A Boolean attribute that toggles the effect on or off. |
Noise Intensity |
A Float attribute that controls the intensity of the noise or grain effect. The value ranges from 0 (no noise) to 1 (maximum noise), with a default of 0.05. |
Scanlines Intensity |
A Float attribute defining the intensity of scanlines. The value ranges from 0 (no scanlines) to 1 (strong scanlines), with a default of 0. |
Scanlines Count |
An Integer attribute specifying the number of scanlines in the effect. The value ranges from 0 to 1000, with a default of 0. |
Grayscale |
A Boolean attribute that, when enabled, applies a grayscale filter to the effect. |
Animated |
A Boolean attribute that, when enabled, animates the noise and scanline effects over time. |
Input |
Description |
---|---|
Color Input |
An RGBImage input that receives the image to be processed by the Film node. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the node result. |
FXAA¶
The FXAA (Fast Approximate Anti-Aliasing) Node applies an anti-aliasing effect to smooth out jagged edges in rendered images, improving visual quality without a significant performance cost.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node for reference. |
Enabled |
A Boolean attribute that toggles the effect on or off. |
Input |
Description |
---|---|
Color Input |
An RGBImage input that receives the image to be processed by the FXAA algorithm. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the anti-aliased image result. |
Glitch¶
The Glitch Effect is a temporal visual distorsion. It simulates an erratic behaviour made of digital artifcats.
Field |
Description |
---|---|
Strength |
A Vector2d attribute defining the maximum and minimum strength of the glitch effect. |
Columns |
A float attribute controlling the column distortion intensity. Range: 0 to 1. |
Delay |
A Vector2d attribute specifying the duration interval of the delay for the glitch effect. |
Duration |
A Vector2d attribute specifying the duration interval of the glitch effect. |
Input |
Description |
---|---|
Color Input |
An RGBImage input that receives the image to be processed by the Glitch node. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the node result. |
Kawase Blur¶
The Kawase Blur Effect is a high-performance, separable blur technique used to create smooth and aesthetically pleasing visuals. This effect is commonly used in scenarios such as bloom, depth of field, and soft UI backgrounds. It’s performance cost is significantly smaller than other blur algorithms such as the Gaussian Blur.
Field |
Description |
---|---|
Kernel Size |
An Integer attribute controlling the size of the kawase blur kernel. Higher values yields a better blur effect at higher computational cost. |
Resolution Scale |
A Float attribute adjusting the strength of the blur effect. |
Input |
Description |
---|---|
Color Input |
An RGBImage input that receives the image to be processed by the Kawase Blur algorithm. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the node result. |
Merge¶
The Merge Node combines two images using a variety of blending modes and transformations. It supports multiple compositing techniques, allowing flexible control over how the images are layered together.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node for reference. |
Blending Mode |
An Enum attribute that determines the blending mode used to combine the two images. Available options include Add, Alpha, Average, Color, Color Burn, Color Dodge, Darken, Difference, Divide, Exclusion, Hard Light, Hard Mix, Hue, Invert, Invert RGB, Lighten, Linear Burn, Linear Dodge, Linear Light, Luminosity, Multiply, Negation, Normal, Overlay, Pin Light, Reflect, Saturation, Screen, Soft Light, Src, Subtract, and Vivid Light. The default is Alpha. |
Blend Amount |
A Float attribute that controls the intensity of the blending. Only valid for additive and subtractive modes. The value ranges from 0 (no effect) to 1 (full effect), with a default of 1. |
Offset X |
A Float attribute that specifies the X offset in percentage for rendering the second image. The value ranges from -100 to 100, with a default of 0. |
Offset Y |
A Float attribute that specifies the Y offset in percentage for rendering the second image. The value ranges from -100 to 100, with a default of 0. |
Width |
A Float attribute that sets the width of the second image in percentage. The value ranges from 0 to 100, with a default of 100. |
Height |
A Float attribute that sets the height of the second image in percentage. The value ranges from 0 to 100, with a default of 100. |
Input |
Description |
---|---|
Color Input 1 |
The primary RGBImage input for the first image. |
Color Input 2 |
The secondary RGBImage input for the second image. |
Output |
Description |
---|---|
Color Output |
The RGBImage output of the merged result. |
Outline¶
The Outline Node generates an outline effect around objects.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node for reference. |
Enabled |
A Boolean attribute to enable or disable the outline effect. |
Pulse |
A Float attribute to control the pulsation effect of the outline. Ranges from 0.0 to 10.0, with a default of 1.0. |
Edge Strength |
A Float attribute to adjust the intensity of the outline edges. Ranges from 0.0 to 10.0, with a default of 1.0. |
Edge Width |
A Float attribute to control the thickness of the outline. Ranges from 0.1 to 5.0, with a default of 1.0. |
Visible Edge Color |
A Vector3d attribute defining the RGB color for visible edges. Default is (255, 0, 0) (red). |
Hidden Edge Color |
A Vector3d attribute defining the RGB color for hidden edges. Default is (0, 255, 0) (green). |
X-ray Mode |
A Boolean attribute enabling X-ray vision effect, revealing hidden edges. Default is false. |
Use Pattern |
A Boolean attribute to apply a pattern effect to the outline. Default is false. |
Alpha Blending |
A Boolean attribute enabling alpha blending for smoother outlines. Default is false. |
Blending Mode |
An Enum attribute for selecting the blending mode. Options include Add, Alpha, Average, Color, Color Burn, Color Dodge, Darken, Difference, Divide, Exclusion, Hard Light, Hard Mix, Hue, Invert, Invert RGB, Lighten, Linear Burn, Linear Dodge, Linear Light, Luminosity, Multiply, Negation, Normal, Overlay, Pin Light, Reflect, Saturation, Screen, Soft Light, Set, Src, Subtract, and Vivid Light. Default is Overlay. |
Opacity |
A Float attribute for controlling the opacity of the outline. Ranges from 0 to 1, with a default of 0.25. |
Enable Debug |
A Boolean attribute for enabling debug mode to visualize internal buffers. Default is false. |
Input |
Description |
---|---|
Color Input |
The primary RGBImage input for the color source. |
Depth Input |
A GrayImage input providing depth information for edge detection. |
Depth Comparison Input |
An optional GrayImage input for additional depth-based effects. |
Output |
Description |
---|---|
Color Output |
The RGBImage output with the applied outline effect. |
Output¶
The Output Node is used to render the final image with customizable dimensions. It receives a color input and outputs it as the final result, allowing control over the desired width and height of the output. Note that only a single output node is allowed per composition.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the output node. Default is Output. |
Desired Width |
An Integer attribute defining the desired width of the output image. Must be at least 1. Default is 256. |
Desired Height |
An Integer attribute defining the desired height of the output image. Must be at least 1. Default is 256. |
Input |
Description |
---|---|
Color Input |
The RGBImage input for the color source to be rendered as the final output. |
Pixelation¶
The Pixelation effect gives a retro and blocky aesthetic by reducing the image resolution to a grid of larger and uniform pixels. The effect aims to mimic the appearance of old-school vintage graphics.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the pixelation node. |
Enabled |
A Boolean attribute to enable or disable the pixelation effect. |
Granularity |
A float attribute defining the size of the pixelation grid. Higher values result in larger pixels, while lower values preserve more detail. Range: 0 to 100. Default is 10.0. Includes a slider widget for easy adjustment. |
Input |
Description |
---|---|
Color Input |
An RGBImage input that receives the image to be processed by the Kawase Blur algorithm. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the node result. |
Radial Blur¶
The Radial Blur Node creates a radial blur effect, radiating from a specified center point.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node for reference. |
Enabled |
A Boolean attribute to enable or disable the radial blur effect. |
Amount |
A Float attribute that controls the intensity of the radial blur effect. The value ranges from 0 (no blur) to 10 (maximum blur), with a default of 1. |
Center |
A Vector2d attribute specifying the origin point of the radial blur as a percentage of the image dimensions. The default is (0.5, 0.5), which is the center of the image. |
Input |
Description |
---|---|
Color Input |
The RGBImage input for the source image on which the radial blur effect is applied. |
Output |
Description |
---|---|
Color Output |
The RGBImage output of the image with the applied radial blur effect. |
Scanline¶
The Scanline effect replicates the look of retro CRT displays by overlaying thin horizontal lines across the rendered image. This effect evokes a nostalgic aesthetic and can be customized to suit a variety of retro-futuristic or artistic styles.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node. |
Enabled |
A Boolean attribute to enable or disable the scanline effect. |
Density |
A float attribute controlling the density of the scanlines. Higher values result in more closely spaced lines. Range: 0 to 1. Default is 0.5. Includes a slider widget for adjustment. |
Scroll Speed |
A float attribute specifying the speed at which the scanlines scroll. Positive values scroll downwards, while negative values scroll upwards. |
Input |
Description |
---|---|
Color Input |
An RGBImage input that receives the image to be processed by the Kawase Blur algorithm. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the node result. |
SSAO¶
The SSAO (Screen Space Ambient Occlusion) Node calculates ambient occlusion in screen space, enhancing depth perception by shading crevices and contact areas where light would be naturally occluded.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node for reference. |
Enabled |
A Boolean attribute to enable or disable the SSAO effect. |
Camera Tag |
A String attribute used to specify which camera’s depth and normal data should be used for SSAO calculations. |
Radius |
A Float attribute that defines the sampling radius for ambient occlusion. This controls the area around each pixel that is considered for occlusion calculations. The value ranges from 0.01 to higher values, with a default of 0.2. |
Samples |
An Integer attribute specifying the number of samples used for occlusion calculations. Higher values provide more accurate results but are more performance-intensive. The value ranges from 8 to 32, with a default of 8. |
Bias |
A Float attribute to reduce self-occlusion artifacts by offsetting the sampling position slightly. The value ranges from 0.001 upwards, with a default of 0.001. |
Intensity |
A Float attribute controlling the strength of the occlusion effect. Higher values create darker, more pronounced shadows. The value ranges from 0 upwards, with a default of 2. |
Max Distance |
A Float attribute that determines the maximum distance for occlusion checks. It helps limit the occlusion effect to nearby surfaces. The value ranges from 0.01 upwards, with a default of 0.07. |
Inputs¶
Input |
Description |
---|---|
Depth Input |
The depth map used to calculate occlusion based on the distance between pixels. |
Normal Input |
Provides surface normals for accurate occlusion direction. |
Camera Input |
Supplies camera parameters needed for depth and normal reconstruction. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the node result. |
Texture¶
The Texture Node allows you to apply textures to an input image. It is designed to enhance or modify the appearance of the input by layering textures.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node for reference. |
Enabled |
A Boolean attribute that controls whether the texture is applied. If set to true, the texture effect is active. Default is true. |
Input |
Description |
---|---|
Color Input |
An RGBImage input that receives the image to be processed by the Texture node. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the node result. |
Tone Mapping¶
Tone Mapping is a process that adataps the contrast and color of an image to match the capabilities of a display device, such a computer monitor. This ensures that the visual content looks optimal and consistent across multiple devices.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node for reference. |
Enabled |
A Boolean attribute that controls whether the tone mapping effect is applied. |
Mode |
An Enum attribute to select the tone mapping mode. Options include: - LINEAR - REINHARD - REINHARD2 - REINHARD2_ADAPTIVE - UNCHARTED2 - ACES_FILMIC - AGX - NEUTRAL |
Luminance Map Width |
An Integer attribute defining the width of the luminance map. This must be a power of 2. Only applicable when Mode is set to REINHARD2_ADAPTIVE. Default is 256. |
Luminance Map Height |
An Integer attribute defining the height of the luminance map. This must be a power of 2. Only applicable when Mode is set to REINHARD2_ADAPTIVE. Default is 256. |
Maximum Luminance |
A Float attribute specifying the maximum luminance value. Controls how bright the brightest areas can be. Range: 0 to 20.0. Default is 4. |
Minimum Luminance |
A Float attribute specifying the minimum luminance value. Controls the darkest areas of the image. Range: 0 to 3.0. Default is 0.01. |
Average Luminance |
A Float attribute defining the average luminance used for tone mapping. Range: 0 to 1.0. Default is 1.0. |
Middle Grey |
A Float attribute that sets the middle grey value, influencing the overall brightness balance. Range: 0 to 1. Default is 0.6. |
Adaptation Rate |
A Float attribute controlling the speed of adaptation in dynamic scenes. A higher value results in faster adaptation. Default is 1. |
Input |
Description |
---|---|
Color Input |
An RGBImage input that receives the image to be processed by the tone mapping node. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the processed image result. |
Currently, different modes of tone mapping are supported
Mode |
Description |
---|---|
LINEAR |
No tone mapping, only exposure. |
REINHARD |
Simple Reinhard tone mapping. |
REINHARD2 |
Enhanced Reinhard tone mapping. |
REINHARD2_ADAPTIVE |
Adaptive Reinhard tone mapping. |
UNCHARTED2 |
Uncharted 2 cinematic tone mapping. |
CINEON |
Optimized filmic tone mapping. |
ACES_FILMIC |
ACES-compliant tone mapping. |
AGX |
Advanced filmic tone mapping. |
NEUTRAL |
Balanced and neutral tone mapping. |
Vignette¶
The Vignette Node applies a gradual darkening effect towards the corners of the image, creating a subtle focus on the center. This effect is commonly used to give images a vintage appearance or to draw the user’s attention.
Field |
Description |
---|---|
Name |
A String attribute specifying the name of the node for reference. |
Enabled |
A Boolean attribute that controls whether the vignette effect is applied. |
Amount |
A Float attribute that controls the intensity of the vignette effect. The value ranges from 0 (no effect) to 1 (full effect), with a default of 0.4. |
Input |
Description |
---|---|
Color Input |
An RGBImage input that receives the image to be processed by the Kawase Blur algorithm. |
Output |
Description |
---|---|
Color Output |
An RGBImage output providing the node result. |
Additional Features¶
Render to Texture: Compositions can be used as inputs to a Material’s Albedo channel, enabling render to texture functionality. This allows for dynamic textures such as reflective surfaces or custom UI elements rendered in real-time.
Optional Use: Compositions are not mandatory. In scene settings, you can opt to render a single camera view directly without applying post-processing.
This flexible system empowers developers to create visually stunning and reusable post-processing setups tailored to their projects.