Table of Contents
Available render elements
- There are 2 render elements always present: Beauty and alpha.
- Optional elements can be added either via the dedicated render dialog tab (3dsmax), or SCN file (standalone).
- Some render passes differ in the standalone and 3dsmax version of Corona. This article primarily describes the 3dsmax render passes. There is a separate description of the standalone passes.
- Use render elements wisely, because each one currently increases the RAM usage for rendering by up to 64 bytes per pixel (that is about 1 GB for 5000×3000 px image).
- Some shading-derived render elements will not render when using the “Render only elements” function. This information is included for all affected passes here.
Basic beauty pass decomposition
These 6 passes represent the standard (but not the only possible) way to compose final image from passes in Corona: you need to render all passes starting with CESSENTIAL
and compose them using the “add” operation in linear color space (i.e. before adding gamma). All of them are only computed when using regular rendering; they will output black when using “Render only elements” mode.
Name | Description |
---|---|
CESSENTIAL_Direct | All diffusely bounced direct illumination (light that bounced exactly once in the scene before hitting camera) |
CESSENTIAL_Indirect | All diffusely bounced indirect illumination (light that bounced at least twice in the scene before hitting camera). |
CESSENTIAL_Reflect | All light specularly reflected into the camera (both direct and indirect). Includes imperfect and perfectly glossy (mirror) reflections. |
CESSENTIAL_Refract | All light refracted into camera (both direct and indirect). Includes imperfect and perfectly glossy (e.g. glass) refractions |
CESSENTIAL_Translucency | All translucency lighting (both direct and indirect). |
CESSENTIAL_Emission | All light that is emitted directly into the camera, with no bounces (i.e. directly visible lights sources/scene environment) |
Geometry render passes
Render passes containing additional geometry information. They can be used for masking, DOF/motion blur simulation, denoising, or visual debugging of the scene.
name | Description |
---|---|
CGeometry_NormalsDotProduct | Outputs the angle between the surface normal and ray direction (similarly to the Falloff map). White indicates surface directly facing the view; surfaces facing away from the view (grazing angles) are black. This quickly shows how does the scene look without shading. |
CGeometry_NormalsGeometry | Outputs the surface normal vectors as color values (with transformation RGB = (XYZ+[1,1,1])/2 . Uses normals directly calculated from the geometry, with no bump mapping/smoothing groups. |
CGeometry_NormalsShading | Outputs the surface normal vectors as color values (with transformation RGB = (XYZ+[1,1,1])/2 . Uses the final shading normals from the lighting calculation, which include the effects of bump mapping and smoothing groups. |
CGeometry_UvwCoords | Outputs the surface mapping coordinates for selected channel. This can be used to check for mapping discontinuities and objects lacking mapping. |
CGeometry_WorldPosition | Outputs the surface world position XYZ vector directly as an RGB color. |
CGeometry_ZDepth | Outputs the z-buffer channel, with adjustable min (white) and max (black) depths. |
Masking render passes
These render elements are used primarily for masking individual scene elements for postprocessing. They are all rendered even when using “Render elements only” function
Name | Description |
---|---|
CMasking_ID | Assigns a random color to each pixel using one of the available modes. The most important ones are: Primitive ID: each primitive (typically triangle) in a mesh has different color, Material ID: each assigned material has different color, and Instance ID: each scene object has different color. |
CMasking_Mask | Creates a custom set of rules for including/excluding each object from the mask. The available conditions are material gbuffer ID, object gbuffer ID, and direct object selections |
Shading render passes
Various shading-related passes. Some of the require full rendering (not “Render only elements” mode), as indicated in the second column.
Name | Requires shading | Description |
---|---|---|
CShading_Albedo | No | Shows the albedo (total reflectivity of the surface - the fraction of energy that is reflected in any way from the surface) of the scene surfaces. Scenes with too high albedo can cause problems - washed-out look and excessive render times. This pass can be used to quickly spot and fix problems - typically if your walls/floors/ceilings are shown in red, lowering their brightness will speed up rendering. Note: red does not automatically mean bad. Only problem is red on large, diffuse areas, like walls. Detailed description is here. |
CShading_Alpha | Yes | Duplicates the built-in alpha channel, so it can be saved to a separate location. |
CShading_Components | Yes | This versatile render pass allows selecting custom subset of lighting components. It can add diffuse, reflect, refract, and translucency lighting, in both direct and indirect (GI) variants. The basic decomposition passes can be recreated using this pass (see this illustration), or it can be used for finer division (e.g. separating reflect direct and indirect lighting). |
CShading_RawComponent | Yes | This shows one component (diffuse, reflect, refract, …) color divided by the corresponding CShading_SourceColor (input texture) value. This results in a “raw” lighting, not containing the surface color/texture. |
CShading_Shadows | Yes | Shows the shadows (energy subtracted from the image due to shadow ray occlusion). This is the complement to the beauty pass, showing white where there are black shadows. If this pass is linearly added to the beauty pass, it negates the visible shadows. Note that currently the shadows from environment lighting are always shown, resulting in a washed-out pass in typical interior renders. |
CShading_SourceColor | No | The input color of a selected component (diffuse, reflect, refract, …). This is the value read from the texture, clamped to obey energy conservation laws. |
CTexmap | No | Allows evaluation of an arbitrary texmap on all scene surfaces/environment. For example the AO pass can be easily created by adding CoronaAO texmap into this pass map slot. |