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 Geometry render outputs are described below.
The dPdu and dPdv are world space vectors that point in the direction of increasing U and increasing V at each point on a surface that has a UV map. dPdu and dPdv have a big effect on the anti-aliasing of UV image maps and also define the reference directions for anisotropic highlights and reflections, so the outputs are sometimes useful for the purposes of debugging.
The dPdu and dPdv are world space vectors that point in the direction of increasing U and increasing V at each point on a surface that has a UV map. dPdu and dPdv have a big effect on the anti-aliasing of UV image maps and also define the reference directions for anisotropic highlights and reflections, so the outputs are sometimes useful for the purposes of debugging.
The Geometric Normal output simply renders all meshes with a color ramp based on the angle of their polygonal normal, where the RGB image components represent the corresponding XYZ vectors, so values are negative unless the Normalize option is enabled. It is useful for evaluating the continuity of a mesh's surface. In this example the Material item's Smoothing option has been disabled to emphasize the effect.
The Object Coordinates output generates red, green, and blue components that contain the undeformed object space X, Y, and Z coordinates of visible surfaces. The pixel values are in meters and can be negative, so a floating point image format should be used when saving this output. This theoretically allows post-processing applications to add solid textures that remain attached to surfaces during an animation.
When Modo renders a project, all meshes are broken down into segments for optimization and general scene management. Using the Segment ID shading option renders each generated segment with a random color. This shading method is purely a diagnostic option.
The Shading Incidence output renders a grayscale image the represents surfaces angle relative to the camera. Shaded surfaces that face the camera directly are rendered as black, attenuating toward white on shading that is perpendicular to the camera.
The Shading Normal output renders all meshes with a color ramp based on the angle of their surface's shaded normal, where the RGB image components represent the corresponding XYZ vectors, so values are negative unless the Normalize option is enabled. Where the Geometric Normal is calculated exclusively by the polygonal geometry, the Shading Normal also takes into account surfacing attribute effect on normals, such as bump maps.
The Surface ID output renders each material with a random color. This is purely a diagnostic shading option, as it may also be helpful in spotting surface relationships in complex scenes.
The UV Coordinates output generates a channel that converts UV positions to a color value. Some software is then capable of utilizing this image to reapply a texture map to the object after it has been rendered.
The World Coordinates output generates red, green, and blue components producing the final world space X, Y, and Z coordinates of visible surfaces. The pixel values are in meters, representing an actual 3D coordinate in space and can be negative, so a floating point image format should be used when saving this output.
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.