Render Outputs

Render outputs are simply what their name describes: they are the output of a Render operation, the evaluated results of all visible layers of the Shader Tree. Invoking the Render command or pressing F9 when no render outputs are present and visible produces an error message. The most common output is Final Color.

The Effect of the render output layer can be changed to a variety of options for different purposes. Samples demonstrating each render output, including detailed descriptions of each are available in the specific render outputs.

Ambient Occlusion Output

Modo offers many different render output types useful in a variety of situations, ranging from purely diagnostic to having specific compositing utility in an external application. A default scene automatically includes a Final Color and Alpha output, which works fine for most situations. You can add additional layers in the Shader Tree by clicking the Add Layer option and selecting Render Outputs > Render Output from the dropdown. You can then right-click in the Effect column of the resulting Shader Tree layer for a context menu that allows you to select alternate output types.

Additionally, shortcuts have been added that automatically specify an Effect type under the Render Outputs menu section by simply selecting the desired Output type. All the various output types are listed under the Add Layer button (Add LayerRender Outputs), working as shortcuts to add the render output layer and setting its Effect at the same time.

Selecting any of the render output options adds an additional layer to the top of the tree. From this position, the output sees the results of the entire tree. Clicking and dragging a layer, and placing it within a material Group, limits the render output evaluation to just those layers. Individually, render outputs can be enabled either from the layer's Enable checkbox within the Properties panel, or by clicking the Eye (eye) icon in the visibility column of the Shader Tree. All enabled outputs are rendered simultaneously each time the Render or Render Animation commands are invoked. Once rendered, the individual outputs appear in the Render Display window and are accessible from the layer menu therein.

Render Output Properties

Selecting any of the render outputs within the Shader Tree makes their editable attributes available in the Properties panel. Selected layers are indicated by the dark bar highlighting the layer name.

Render Outputs Properties

All render outputs share the same set of following attributes, with Ambient Occlusion, Depth, Final Color, and Motion Vector having additional options covered further below.

Option

Description

Enable

Allows you to temporarily enable or disable a layer without losing stored values. Disabled layers are saved with the scene file.

Output Filename

Allows you to specify a filename and location saving a rendered animation. Click the Browse button to open the File Save dialog. Specify a name and location for the rendered output. Images are saved the next time you invoke the Render Animation command from the menu bar.

Additional automatic output naming options can be specified in the Frame settings of the Render item as well.

Note:  Rendering scenes using the Render command or F9 does not save the image automatically to disc, but merely displays the rendered result in the Render Display window. For saving the image to disc, use the Save As option of the Render Display window.

Antialiasing

Used to enable or disable the rendering Antialiasing functionality on a per-output basis, allowing you to render all outputs simultaneously when only certain passes do not require antialiasing (such as Depth). When enabled, antialiasing is calculated for the pass; when disabled, antialiasing is not calculated.

Image Processing

Enable this option to control the post-processing applied to the rendered image. When enabled, post processing functions apply to the rendered output; when disabled, post processing settings are disregarded. Post processing can be a powerful way to adjust the final rendered image. This option makes it easy for you to quickly see to what degree the image processing is contributing to the final render without disabling all the settings individually.

Denoising

Allows you to apply post-process denoising to the render output. You can choose from either NVIDIA or AMD denoising options. NVIDIA OptiX is available for Windows and Linux systems running NVIDIA GPUs, and the AMD denoiser options are supported on all platforms. The AMD denoisers are OpenCL-based, so they run on GPUs from AMD, NVIDIA, and Intel.

Note:  If a denoiser is not available on your system, Modo displays a warning icon next to it. You can still select it, allowing you to set up the scene for rendering on a different system, but will produce a warning dialog when the render is started on an unsupported system.

Tip:  Denoising is useful when you are rendering with the mPath renderer. To learn more, see Denoising mPath Renders.

You have the following options:

None - The render operation uses no denoiser on the rendered image.

Intel Open Image Denoise - A high quality denoiser that uses artificial intelligence to improve image quality of the rendered image on the host CPU.

No Denoising. Expand to see noise in the image.

Intel Open Image Denoise with Denoise Per Iteration enabled. Expand to see denoised areas.

No Denoising.

Intel Open Image Denoising.

NVIDIA OptiX - NVIDIA OptiX denoising works best with Monte Carlo path tracing. The following table displays the render output of a scene using the NVIDIA OptiX denoiser. Click on an image to expand it.

No Denoising.

NVIDIA OptiX Denoising.

Video:  Check out this video on the Nvidia Optix Denoiser.

Courtesy William Vaughan

AMD AI - Uses artificial intelligence to produce a high quality image on the host GPU.

Note:  If you have less than 4 GB RAM on your GPU, we recommend using an alternative denoiser to AMD AI.

No Denoising. Expand the image to see the noisier areas around the white sole.

AMD AI Denoising with Denoise Per Iteration enabled. Expand the image to see denoised areas around the white sole.

No Denoising.

AMD AI Denoising.

AMD Wavelet - Edge-avoided À-Trous wavelet denoiser. This denoiser filter uses a technique called 'wavelets' to analyze and detect edges in images to blur noise across a surface without blurring across edges. It can use multiple image outputs to refine the analysis. In addition to the original color image, you can also use the surface normals, the depth (distance from eye), and surface IDs. Outputs with a weight set to zero are ignored. You can edit the following parameters:

Color Weight The threshold for border detection using only the colors of the source image. Lower values preserve the borders more, but increase the noise level.
Normal Weight The threshold for border detection using only the normals of the source image. Lower values preserve the borders more, but increase the noise level.
Depth Weight The threshold for border detection using only the depth of the source image. Lower values preserve the borders more, but increase the noise level.
Surface Weight The threshold for border detection using only the Surface ID. Lower values preserve the borders more, but increase the noise level.

AMD Bilateral - a non-linear, edge-preserving, and noise-reducing smoothing filter. It replaces the intensity of each pixel with a weighted average of intensity values from nearby pixels. You can edit the following parameters:

Blur Radius The radius of the region that is used for output color computation. Accepts values between 1 and 50.
Image Blur Factor

The threshold for border detection in the image output. Lower values preserve borders more but increase the noise level. Blur Factors are applied to each of the four inputs.

Albedo Blur Factor

The threshold for border detection using only the surface colors without shading applied. Lower values preserve borders more but increase the noise level. Blur Factors are applied to each of the four inputs.

Normal Blur Factor

The threshold for border detection using only the surface normals for each pixel. Lower values preserve borders more but increase the noise level. Blur Factors are applied to each of the four inputs.

Depth Blur Factor

The threshold for border detection using only the Z depth of each pixel. Lower values preserve borders more but increase the noise level. Blur Factors are applied to each of the four inputs.

AMD Median - a non-linear digital filtering technique. Median filtering is widely used in digital image processing because, under certain conditions, it preserves edges while removing noise. It operates by running through the signal entry by entry, replacing each entry with the median of neighboring entries. You can edit the Radius (in pixels) of the region that is used for denoising. The following table displays the render outputs of a scene using the different AMD denoisers. Click on an image to expand it.

No Denoising

AMD Wavelet Denoising

AMD Bilateral Denoising

AMD Median Denoising

Denoise Per Iteration

When mPath is set as the Renderer in the Render item, this applies denoising to each individual mPath pass using the selected Denoising engine.

Exposure Control

There are two possible ways to control the overall brightness of the final rendered image for any given render output. There is either White Level or Photographic. The choice can be made by selecting one of the options from the pop-up menu. White Level defines the amount of luminance (illumination brightness) that corresponds to pure white in the rendered image, adjusted with the Input White Level value. Higher values tend to darken the image, requiring a much brighter area to represent the whitest white, but can also be used to bring out detail in overblown areas. Photographic produces similar results but uses an ISO setting, more familiar to photographers. Much like how higher ISO makes a photographic image sensor more sensitive to light, in Modo a higher ISO produces brighter images (but without any added noise).

Tip:  For best results, when using the Exposure Control, Clamp Colors needs to be disabled.

Film Speed (ISO)

When the Exposure Control value is set to Photographic the ISO value is used to define the white level in the rendered image. Higher values produce brighter images, lower values darker.

Input Black Level

Specifies the radiance or luminance level that corresponds to pure black in the final rendered image (a pixel color value of 0.0). To use the input level controls effectively, Clamp Colors must be disabled.

Input Gray Level

A non-linear luminance adjustment that applies a curve-like function to the pixels, modifying the mid-range the most while attenuating the adjustment amount for values moving toward the defined Black and White points. Values above 1.0 lighten the mid-range while values below 1.0 darken the mid-range.

Input White Level

Specifies the radiance or luminance level that corresponds to pure white in the final rendered image (a pixel color value of 1.0). To use the input level controls effectively, Clamp Colors must be disabled.

Clamp Colors

Suppresses all color values in a rendered image to truncated 24-bit values prior to anti-aliasing, producing cleaner results in areas of extreme contrast. However, when this setting is enabled, you lose any extended dynamic range present in the image (making proper tone mapping impossible). If you intend to save your image in an high dynamic range format, leave the setting disabled.

Additionally, instances where Tone Mapping may not be appropriate, any apparent blockiness can be minimized by adding a small amount of Bloom, available as an option of the Final Color output. When enabled, a small amount of dithering is added to reduce or eliminate banding in gradations.

Clamp Threshold

Determines the upper threshold within the image's rendered dynamic range where clamping takes place. At 100% the standard 24-bit low dynamic range values define the total brightness range; at 200%, twice the brightest pixel would be the upper limit. This setting allows you to clamp extremely bright pixels in an image for better antialiasing results, but still retain extended dynamic range in the image.

Tone Mapping

Dynamic range is measured as the difference between the darkest shadow to the brightest highlight in an image. Most image formats' dynamic range pales in comparison to that of the world around us. Much in the same way that a photographer struggles to capture all of the range our eyes can see using a camera, you may find your renders have shadow areas that are too dark, and highlight areas that are too bright.

Luckily, Modo renders in full floating point accuracy, providing dynamic range well beyond what your monitor is capable of displaying. This allows you to modify the overall tonal balance of the rendered image in several ways, including Tone Mapping, a technique that is used to compress the rendered dynamic range into something viewable; shadows open revealing previously obscured details as highlight areas. The main tone mapping features are the Tone Map Type and Tone Map Amount controls. But you often find it takes a combination of settings for Exposure Control, Tone Mapping, and Gamma to achieve the best results.

Tip:  For more information, please refer to the Tone Mapping topic.

Tone Map Type

There are two types of tone mapping: Reinhart Luminance, which reduces luminance in bright areas while preserving color saturation, or Reinhart RGB, a method that lowers the luminosity per RGB channel, producing slightly different saturation results. Which is the better choice is highly subjective and dependent on the contents of the final render, so it's best to try both to see which is preferred.

Tone Map Amount

Controls the strength of dynamic range compression as a percentage, where, with a value of '0%,' no change is applied up to 100%, where the maximum amount of tone mapping is applied to the rendered image.

Hue Offset

Adjusts the color values of the rendered image independent of the luminosity or brightness values, shifting them across the entire spectrum in a sequential fashion. For example, when shifting a red color, moving the values in a positive fashion adjusts reds toward an orange hue, then yellow, and so on. The hue values should be thought of like a wheel, where a rotation of 180° inverts all the color values and a rotation of 360° brings them back to their initial state.

Saturation

Controls the concentration or amount of color in an image, independent of the luminosity of brightness. At 100%, colors are fully saturated, as defined in the item's material settings. Reducing the value reduces the overall color saturation down to a value of 0%, producing an image only with gray shades. Since Modo renders in full 32-bit floating point accuracy, values above 100% increase saturation without introducing the color banding and artifacts generally associated with over-saturating images.

Colorization

Use the Colorization options to introduce an overall color tint into an image. This can be purely for artistic reasons, but it can also be helpful in reversing color casts introduced by Image Based Lighting among other things. You need only to define a color with which to tint by setting a Target Color and then adjusting the Colorization amount, determining the strength of the color into the image. A value of 0% produces no colorization attenuating toward 100% where the image is replaced fully by the target color.

Target Color

Determines the color with which to tint the rendered image when the Colorization option is above 0%.

Output Black Level

Determines the output value of what is considered fully black in the image. Adjusting the value upwards changes the Black point to a shade of gray. As values are adjusted, intermediate values between black and white are adjusted as well.

Output White Level

Determines the output value of what is considered fully white in the image. Adjusting the value downwards changes the White point to a shade of gray. As values are adjusted, intermediate values between white and black are adjusted as well.

Unpremultiply Colors

When generating pixel values in rendered images, Modomultiplies the rendered result with the background color to calculate the final result. This "multiplied" final result is fine for most cases, however, when using alpha channels to composite multiple images together, partially transparent pixels often exhibit halos, an artifact of the previous background color. Unpremultiply basically reverses this effect.

Activating this option won't reveal any difference in Modo's render display. You need to save the image and open it in another application to see the result. This function requires the object/scene to be rendered over a solid black background with a corresponding alpha channel. This can be easily achieved by disabling the Visible to Camera option in the Environment Item (and the Visible to Refraction Rays option, in cases where there are transparent surfaces, noting that this affects how the render looks).

Tip:  Since a render output is just another layer, it can reside anywhere in the Shader Tree. Typically, they are at the top, directly under Render item, as this is where they see the result of all layers in the tree, but if a render output is placed inside of a Material Group, the render output only renders what it sees within that group. This makes it possible to render alpha channels for specific items, based on a polygon tag, instead of making some item-specific shader or hiding items in the item list. All active render outputs render each time the render command is invoked, and appears within the layer menu of the Render Display viewport.

Ambient Occlusion

The Ambient Occlusion output generates an occlusion map where occluded areas - crevices and other inaccessible areas - of a scene shade darker, while open areas render lighter colors, approximating an overall global illumination type of shading. Grainy renders can be smoothed out by increasing the Occlusion Rays value. Controlling the density of the occluded areas is done through the Occlusion Range.

Occlusion Rays - specifies the number of random rays Modo shoots out from a surface when shading a pixel for Ambient Occlusion. Generally, the higher the number of rays, the more accurate (and smoother) the AO image is; low numbers introduce noise as variations in neighboring pixels and it becomes more evident the lower the value.

Occlusion Range - specifies the length of the rays that are fired from a surface. If you have a complex object with overlapping elements, limiting the ray range is a good way to control what recessed areas are shaded darker. It also helps to push the shading further into recessed areas. A value of 0m disables the range, defaulting the value to the maximum length of the scenes overall bounding box size.

Depth

The Depth output generates a Z-Buffer that represents the distance from the camera to the geometric surface in shades of gray. The shade is determined by the actual distance value in Meters and requires a floating point format for saving. If the Remap Pixel Values option is enabled, you can define a maximum depth value and then save the resulting image to a low dynamic range format. These values are calculated the camera ray starting out white at the ray origin (camera position) and attenuating darker as they get longer becoming fully black at the specified Maximum Depth value. Useful for calculating Depth of Field in an external application or for composing a fog effect into a rendered scene.

Remap Pixel Value - when this option is enabled, you can specify a Maximum Depth value.

Maximum Depth - sets a "clipping plane" for the black point so that Modo knows at what distance to shade the Z-buffer pure black.

Final Color

The Final Color output represents all the settings of the Shader Tree, leveraging all visible material and texture layers as well as shaders and the render item settings.

Bloom - in photography, when a very bright part of an image neighbors a very dark part, the bright part appears to glow, this phenomenon is known as "bloom". Modo's Bloom simulates this effect by removing excess energy from a pixel and distributes it around to its neighbors. This checkbox enables the effect; once checked, two additional options become available:

Bloom Threshold - sets the lower threshold to which pixels are effected by Bloom. When set to 100%, only the very hottest specular highlights bloom, where at 0% every pixel in the scene receive the bloom effect.

Bloom Threshold 0%

Bloom Threshold 50%

Bloom Threshold 100%

Bloom Radius - sets the distance that energy is distributed, in effect controlling the size of the glow. 2% is the default value. Larger radii impart an ethereal look to the rendered image.

Bloom Radius 1%

Bloom Radius 8%

Bloom Radius 16%

Vignette Amount - in photography, vignetting is the natural reduction of an image's brightness toward the outer edges of the frame. The Vignette Amount in Modo, when set at 100%, is a physically-accurate vignette simulation, based on the camera's Focal Length and Film Size. Values above 100% darken the resulting vignette, and values below 100% reduce its visibility.

Output Gamma - gamma is the measure of total contrast in an image and represents the relationship of an image input to an image output. In this case, the input is Modo's rendered image (what Modo is holding in its memory) and the output is either the image being displayed in the Render Display viewport (what you see) or the image that is saved. A gamma value of 1 is said to be linear, what Modo rendered, is identical to what is displayed. Modifying the Gamma value changes how the image is represented. Values higher than 1 lighten the image, while values lower than 1 darken it. Adjustments to the gamma value are not linear, that is, they don't change all the pixels in an image the same amount, explaining why it is often referred to as a gamma curve.

The default Gamma value for any new render output is derived from the global preference found in the Preference Editor under Rendering, called Default Output Gamma, which is set to 1.0. With the introduction of Color Management in Modo, it is no longer necessary to "degamma" texture images. The Output Gamma controls remain simply as an additional image adjustment control. Adjusting the Output Gamma value in the render output overrides the global preference on a per-item layer basis.

Gamma Demonstration

Output Colorspace - defines the colorspace of the rendered frame. When set to default, the colorspace definition is derived from the Scene Item settings. Changing the value results in an override that can be set per output. Experienced users with specific needs may want to adjust from default to a specific colorspace, but for the most part, the default settings produce the correct results. For more information, please refer to the Color Management topic.

Contours - Modo can render a contour outline around specified boundaries. The options available are:

None - the default value; renders no contouring outline.

Surface Boundaries - contour line renders around all surface boundary definitions (Modo Material tag boundaries).

Segment Boundaries - contour line renders around all segment boundary definitions (Modo Segment ID boundaries, which are not user-definable).

Contour Color - defines the color of the contour outline using the standard Modo color controls for specifying an R, G, and B value.

Contour Width - defines the thickness of the contour line applied to the render output, defined as pixels, so a value of 1 would render a line 1 pixel wide over all the boundaries.

Fade with Distance - you can fade the application of the contour outline when enabling this option. Once enabled, an additional option Fade Start Distance determines where the fading effect start.

Crease Threshold - determines the angle at which Modo draws a contour line. Lower angles generate more lines.

 

 

 

 

Crease Threshold 180°

 

Crease Threshold 90°

 

Crease Threshold 45°

 

Crease Threshold 15°

 

Crease Threshold 5°

Motion Vector

The Motion Vector output represents the speed and direction at which an item is moving within the scene, calculated per-pixel. The main use of this render output is to apply a post motion-blur effect to the frame using an external compositing application. As rendering actual motion blur in Modo requires a fair number of antialiasing passes for a smooth result, rendering out a frame normally and applying the effect separately achieves similar results in a fraction of the time. For normal Motion Vector outputs, the red, green, and blue pixel values represent the X, Y, and Z vector components, which range from -1 to 1. For motion vector outputs, the red and green pixel values represent horizontal and vertical movement measured in pixels and can be negative requiring an extended dynamic range format to save (unless the Remap Pixel Values option is enabled).

Remap Pixel Values - adjusts the resulting motion vector values to values appropriate to low dynamic range images, scaling values appropriately based on the Maximum Motion value. Enabling this option means the values are remapped (Reel Smart Motion Blur), and disabling it means the values are saved at their actual calculated result (Nuke).

Maximum Motion - represents the maximum distance a blurred pixel would travel. This setting also defines the amount of scaling applied to the resulting values when Remap Pixel Values is enabled. When working with the Re:vision ReelSmart Motion Blur tool, you may want to make sure that Remap Pixel Values is enabled, and make sure the Maximum Motion values match in both locations for the proper result.

Render Output Masking

Render outputs support group masks and layer masks in the Shader Tree. This works both in Preview and the Render Display.

To enable render output masking:

1.   Select the Render item in the Shader Tree.
2.   In its Channels list, found in the lower-right panel, set the outputMasking channel to True. It is disabled by default.

When you apply a group mask to a group containing a render output, that output is masked accordingly. The mask value is applied to the render output to mask certain parts of it. This way, you can use image maps, procedural textures, or gradients on render outputs.

Note:  Depending on the scene, render time may increase slightly when render output masking is enabled, as Modo needs to store the values while evaluating the shader.

Note:  For more information on group and layer masks, see Advancing the Shader Tree.