Open topic with navigation
Rendering is the act of converting the scene information into a bitmap image by evaluating all the geometry and lighting information in a given file. Generally, the resulting rendered image is a fully raytraced and shaded image with full shadows, reflection and the like, much like a photograph depicting an entire scene when taking a picture with a camera. In Modo, these images are the result of what are called render outputs, the visible representations of the full scene evaluations. Each render output is a separate layer in the Shader Tree and produces its own image layer as part of the render calculations. Every time one of the Render Commands is invoked, all of the render output layers are simultaneously calculated and represented in the Render Display viewport. The different layers can be viewed by choosing one of the specific Output options within the display window.
Occasionally, you only need a subset of the full evaluations, such as the diffuse color layers without any shadows. Modo offers many different Render Output types useful in a variety of situations ranging from purely diagnostic, to specific compositing utility in an external application. A default scene automatically includes a Final Color and Alpha output which is fine for most situations. Additional layers can be added from within the Shader Tree viewport itself, by clicking Add Layer > Render Outputs. This adds an additional layer to the top of the tree. You can then right-click the Effect column of the render output for a pop-up context menu that allows you to select from the alternate output types. The different Basic render outputs are described below.
The Alpha output calculates the opacity of the objects based on their material settings to determine an alpha (transparency) value. With this setting, an environment does not contribute to the alpha channel, so when the final image is viewed with an application that supports alpha channels, only the rendered geometry is visible. If an object or surface has a level of transparency, it is also be considered in the alpha channel. In this way, it is possible to render images with semi-transparent elements that can easily be composited over other backdrops in an application such as Nuke, After Effects or Photoshop. For best results, when compositing multiple images, the Unpremultiply Colors option in the corresponding Final Color output should be enabled. For more information on this option, see Render Outputs. There are also additional options for uniquely controlling how rendering evaluates transparency for images in the Alpha Type item.
The Depth output encodes the distance from the camera item to the first surface intersection (transparency is ignored) and generates a grayscale Z-Buffer image that represents the measured distance in meters. When Remap Pixel Values is enabled, you can alternately define a Maximum Depth distance, remapping the values to fit within the 0-1 value range with white at the camera ramping toward full black at the defined Maximum Depth value. The Depth output is useful for calculating depth-of-field in an external application or for composing a fog effects into a rendered scene.
The Final Color output represents the full evaluation of all the settings of the Shader Tree, leveraging all visible material and texture layers as well as the shader and the render item settings. The Final Color render output produces a full floating point accurate high dynamic range image (unless the Clamp Colors option is enabled, see Open topic with navigation).
The Motion Vector output encodes the direction and speed of each pixel into an RGB value, where red and green represent horizontal and vertical movement respectively. This allows the resulting Motion Vector image to be used for further processing in an external application, using them as an input to generate motion blur for a rendered frame as a post production effect. This can greatly enhance the smoothness of motion blur and save considerable rendering time when processed this way, however, since each pixel can only have a single color value (and therefore a single motion vector), incorrect result is produced when motion blurring transparent or translucent objects moving in a scene.
Render outputs are incredibly useful when you wish to compose the generated layers individually in an external application, such as Photoshop, After Effects, Nuke or Fusion. This can aid in tweaking color, among other settings as a post process without requiring additional render time. The question most often asked is which render outputs combine to equal the final color output. The answer is Diffuse Shading (Total) + Transparent Shading + Reflection Shading + Specular Shading + Subsurface Shading + Luminous Shading = Final Color, where each successive layer is added to the layer below in the composition (also called linear dodge). Rendering each layer at a gamma of 1.0 and then combining them and adding the gamma back to the fully composed layers produce the best results.
You may also render out simultaneous alpha channels for each item in a scene by creating item masks for each and placing a render output set to Effect > Alpha (or simply adding them to existing Shader Tree masks). Then each time a render command is invoked, all active render outputs get generated simultaneously.