©Anton Podvalny

In this chapter, we cover the more advanced render elements, which we did not discuss in the previous one. Most of them are again implemented using the RenderChannelColor plugin, unless stated otherwise.


Shadow Render Elements


A common need in a Beauty Pass is the ability to control shadows. Shadows can be darkened, lightened, or recolored using the Shadow Render Elements.

V-Ray provides three render elements for shadows:

  • Shadows (VRayShadows) - A color image showing cast shadows and the diffuse component. Areas of shadow are shown as lighter in color, while non-shadow areas are dark. It is the product of multiplying the VRayRawShadow Render Element with the VRayDiffuseFilter Render Element in composite. Type: RenderChannelColor
  • Raw Shadow (VRayRawShadow) - A grayscale image showing only cast shadows with no diffuse component. It is a reverse image of shadows, where shadow areas are brighter and non-shadow areas are darker. Type: RenderChannelColor
  • Matte Shadow (VRayMatteShadow) - A grayscale image showing areas where light doesn't reach, as opposed to cast shadows. While this render element is not really a shadow render element, it can be used as a matte to soften, enhance, or tint dark areas of the scene to complement a change in cast shadows.



Examples


Shadows


Raw Shadow


Matte Shadow

Shadow Render Elements can be both added and subtracted at a composite level without rerendering.

Shadows can be color-corrected using Shadow Render Elements.


Shadows


The Shadows Render Element is a color image that can be used to lighten, darken, or tint shadows. This section gives some basic details about the Shadow Render Element and how it is used in compositing.



The Shadows Render Element works as a reverse mask for shadows. Shadows can be lightened in the composite by adding this render element, or darkened by subtracting this render pass from the final composite.

The Shadows Render Element is the product of multiplying the Raw Shadow Render Element with the Diffuse Filter Render Element in the composite.

The Shadows Render Element is useful for changing the appearance of shadowed areas in a compositing or image editing application. Below are examples of possible uses.



Shadows Render Element

Original Beauty Composite

Shadows lightened in composite using the Shadows Render Element

Shadows darkened in composite using the Shadows Render Element



Raw Shadow x Diffuse Filter = Shadows



Raw Shadow


The Raw Shadow Render Element stores information about cast shadows calculated from the lighting in the scene. It is a "reverse" image in the sense that white areas indicate shadows while black areas indicate no shadow.



The Raw Shadows Render Element is useful for changing the appearance of shadowed areas after rending in a compositing or image editing application. Below is an example of its use. In the example below, the Raw Shadows were added (plus) with the Raw Lighting Render Element.


Raw Shadow Render Element


Original Beauty Composite


Shadows lightened by adding the Raw Shadow Render Element


Matte Shadow


The Matte Shadows Render Element shows areas where light doesn't reach. Compare with the Raw Shadow Render Element, which gives areas of cast shadows. While technically not part of the Beauty render elements, the Matte Shadow Render Element can be used to lighten cast shadows by adding it to the Raw Lighting Render Element. It can also be used to assist in adding 3D elements to a background image or footage in the composite.



The Matte Shadows Render Element is useful for changing the appearance of shadowed areas in compositing or image editing software. Below are examples of its use.



Matte Shadows Render Element


Original Beauty Composite


Shadows lightened by adding to

the Raw Lighting Render Element in composite

Shadows warmed by combining a color-corrected Matte Shadows

added to the Raw Lightning Render Element



Matte Shadow + Raw Lighting



Atmosphere


The Atmosphere Render Element stores only atmospheric or volumetric participating media such as fog or Aerial Perspective. This render element can then be used to enhance or color-correct just the atmospheric component of the image during the compositing process.

When atmospheric effects or fog are included in a scene, they render into the Beauty|RGB channel and should also be output as the Atmosphere channel for compositing use.



The Atmosphere Render Element is useful for changing the appearance of the atmosphere and volumetric effects in a rendered image using compositing or image editing software. Below is an example of its use.


Atmosphere Render Element, with fog generated by VRayEnvironmentFog


Original Beauty Composite


Color of atmosphere changed and intensity increased


The Atmosphere Render Element is added to the Beauty render to form the final image.




Background


The Background Render Element stores an image of the texture used in the background behind geometry in a scene as seen from the camera. Geometry that blocks the background image renders as black.

This render element interprets a background texture, such as the texture set in the Environment settings, as the background; other types of manually created backgrounds, such as a plane mapped with a texture set outside a window, is not interpreted to be the "background" for this render element.



The Background Render Element is primarily used for layering the Beauty element (or combined render elements) on top of the background image. The Alpha Render Element can be used to create a matte for such a composite.


Beauty Render Element without Background Render Element


Background Render Element


Alpha Render Element

When the background is behind a transparent or semi-transparent material such as glass or clear plastic, make sure the Alpha channel is enabled for the material for all render elements; otherwise, the background is not visible in the render element. For example, when using VRayMtl for a glass material, set the Affect channels parameter for both Reflection and Refraction to All channels to cause the background to appear in the Background Render Element behind the glass.


Caustics


Caustics is an effect that is produced when light rays are reflected or refracted by the materials within a scene, which can produce light patterns on the same object or on other objects. The Caustics Render Element stores the effects that are generated with Caustics photon mapping, enabled from the Caustics rollout under the GI tab in the Render Setup window. This render element is useful for enhancing or toning down caustic effects in the composite.



The Caustics Render Element is useful for changing the appearance of caustic elements after rendering in a compositing or image editing application. Below is an example of its use.


Original Beauty Composite


Caustics Render Element


Brightened caustics


The Casutics Render Element is added to the Beauty render to form the final image.




Self Illumination


Type: RenderChannelColor The Self Illumination Render Element isolates self-illuminated materials, including V-Ray Mesh Lights, objects with the VRayLightMtl, and any objects with Self-Illumination enabled in their V-Ray material. This render element is useful for brightening or color-correcting self-illuminated materials in the final composite.

For example, the material VRayMtl has a parameter for self-illumination. If this parameter is set to a non-black color value, this render element shows the results of the self-illumination.



The Self Illumination Render Element is useful for changing the appearance of self-illuminated surfaces after rendering in compositing or image editing software. Below are two examples of its use.



Self Illumination Render Element

Original Beauty Composite

Color of self-illuminated surface changed in composite

Intensity of self-illuminated surface reduced in composite



The Self Illumination Render Element is added to the Beauty render to form the final image.



Subsurface Scattering


Type: RenderChannelColor The Subsurface Scattering Render Element stores subsurface information from VRaySSS2 materials as an image. This render element can then be used to enhance or color-correct just the subsurface scattering component of the image during the compositing process.



The Subsurface Scattering Render Element is useful for changing the appearance of SSS2 elements after rendering in a compositing or image editing software. Below is an example of its use.


Subsurface Scattering Render Element


Original Beauty Composite


Color of Subsurface Scattering on the candles changed


The Subsurface Scattering Render Element is added to the Beauty render to form the final image.



Matte Render Elements


Overview

A matte render element is an aid for selection masks for the compositing process. The term matte refers to a technique for layering two or more images where parts of each image are masked or blocked from the final composite. When compositing, it can be useful to mask an individual scene object or material in order to include or exclude it in a specific post-production process.

A matte render element consists of values and/or solid colors that facilitate easy selection for masking or control purposes. The colors and values generated for each matte render element depend on the type of render element used:

  • Material ID Render Element (VRayMtlID) - Colors or values based on Material ID. Wide range of colors is possible. Antialiasing is supported for color. Type: RenderChannelColor
  • Multimatte Render Element (MultiMatteElement) - Colors based on Object ID (G-Buffer ID) or Material ID, with RGB colors only. Antialiasing is supported. Type: RenderChannelMultiMatte
  • Object ID Render Element (VRayObjectID) - Colors or values based on Object ID (G-Buffer ID). Wide range of colors is possible. Antialiasing is supported for color. Type: RenderChannelNodeID
  • Render ID Render Element (VRayRenderID) - Colors based on the node ID or node handle. Wide range of colors is possible. Antialiasing is not supported. Type: RenderChannelRenderID

While each matte render element has its uses, the MultiMatte Render Element is the most common choice because of its versatility and the usefulness of the render elements it creates. The Render ID Render Element is the least common; it is used only for specialized purposes.



Examples


Material ID Render Element

Object ID Render Element

Render ID Render Element

MultiMatte Render Element


Matte elements can be combined with or subtracted from a composite to generate complex mattes.


Material ID


The Material ID Render Element isolates objects with specific materials by Material ID for compositing purposes.

Overview

The Material ID Render Element provides a mask for individual objects and materials that is easy to select in compositing software.

This render element either shows each material (by Material ID) as a solid unshaded color, or stores the Material IDs as integer values within the EXR format or V-Ray Image Format file.

The Color (with AA) method supports antialiasing at the edges of objects where they meet other objects or the background. The Integer (no AA) method, which assigns a Material ID to each pixel in the render element, does not support antialiasing as each pixel can have only a single Material ID assigned to it.

More than one Material ID Render Element can be used if desired, for example if you wish to have both solid-shaded color and integer-based render elements for maximum flexibility during compositing.




The Material ID Render Element is accessible through the RenderChannelMtlID plugin.

Common Uses

The Material ID Render Element is useful for isolating geometry in a scene so it can be enhanced or adjusted with post-production or compositing software.



Material ID Render Element


Matte created in composite by using only

the red channel representing the blanket

Original Beauty Render


Blanket enhanced using Material ID Render Element

red channel (as a mask in the composite)



Multimatte


The MultiMatte Render Element creates red, green, and blue selection masks based on an object's Object ID (G-Buffer ID) or Material ID.

Overview

With the MultiMatte Render Element, only three colors are possible: red, green, and blue. Compare with other matte render elements, which can include a multitude of colors to represent each material or object in a scene with a different color. With MultiMatte, a single R, G, or B channel can be used directly as a matte, eliminating the step of selecting the color in the compositing software. This ease of use makes MultiMatte a popular choice for compositors.

The MultiMatte Render Element includes antialiasing.

To represent all the objects or materials in a scene with just the available red, green, and blue colors, several MultiMatte Render Elements can be generated for a single rendering, each with different Material ID or Object ID settings.




The MultiMatte Render Element is accessible through the RenderChannelMultiMatte plugin.

Parameters

  • name - String
  • red_id - The object ID that is written as the red channel (0 to disable the red channel)
  • green_id - The object ID that is written as the green channel (0 to disable the green channel)
  • blue_id - The object ID that is written as the blue channel (0 to disable the blue channel)
  • use_mtl_id - True to use the material IDs instead of the object IDs
  • affect_matte_objects - False to not affect Matte Objects. A matte object is an object that has been assigned a Wrapper Material with the Matte surface option enabled.
  • consider_for_aa - True to consider this render element for antialiasing (may slow down rendering)


Common Uses

The MultiMatte Render Element is useful for isolating geometry in a scene. While other matte render elements perform similar tasks, MultiMatte is often quicker to use in compositing software because it can be made to include only pure red, green, and blue channels to represent objects in the scene. Compositing software often has a feature for easily selecting the red, green, or blue channels in an image for use as mattes.



MultiMatte Render Element


Matte created in composite using

only the green channel

Original Beauty Render

Curtains color-corrected using matte created from

MultiMatte green channel (as a mask in composite)



Object ID


The Object ID Render Element isolates individual objects with colors or integer values for compositing purposes.

Overview

In some host applications, each object can be assigned an Object ID. This value is also sometimes called the G-Buffer value. Two or more objects in the scene can share the same Object ID.

The Object ID Render Element creates selection masks based on Object ID. This render element either shows each object (by Object ID) in a solid unshaded color, or stores the Object IDs as integer values within the EXR format or V-Ray Image Format file.

The Color (with AA) method supports antialiasing at the edges of objects. The Integer (no AA) method, which assigns an Object ID to each pixel in the render element, does not support antialiasing as each pixel either has an integer assigned to it, or it does not.

More than one Object ID pass can be generated for a single rendering if desired; for example, if you wish to have both solid-shaded color and integer-based render elements for maximum flexibility during compositing.




The Object ID Render Element is accessible through the RenderChannelNodeID plugin.

Common Uses

The Object ID Render Element is useful for isolating geometry in a scene based on the Object ID. This means that items can be isolated by use of a matte created from the solid colors within the Object ID pass. In the example below the sofa has an Object ID of 1, the dangling light has an Object ID of 4 and the sideboard has an Object ID of 2.



Object ID Render Element


Matte created in composite using only the blue channel


Original Beauty Render


Ottoman color-corrected using matte created from

Object ID Render Element blue channel (as a mask in a composite)



Render ID


The Render ID Render Element renders individual objects with different colors based on their internally assigned node handles.

Overview

The Render ID Render Element creates selection masks based on the node handle of each object or the V-Ray assigned render ID. In some host applications, each object is internally assigned a unique node handle when the object is created. When V-Ray is rendering, each object is assigned a render ID. The intended use for the Render ID channel is to quickly create masks, based on the node handles or the render IDs, for various objects in a scene without having to set up a separate MultiMatte render element for them. A wide variation of colors is used so no two objects will have the same color in the render element.

Node handles and render IDs are not the same as the Object ID: The node handle is assigned by the host application (and can only be changed by it internally) and the render ID is assigned by V-Ray during rendering only. Meanwhile, the Object ID is assigned by the user and can be changed at any time. In addition, while several objects can be assigned the same Object ID, each node handle and render ID are unique to a specific scene object. To create a channel that renders object colors based on Object IDs, use the Object ID (VRayObjectID) Render Element.

Node handle numbers do not ever change, even if objects are deleted; a node handle number for a deleted object is simply no longer used.

There is no antialiasing with the Render ID Render Element; where the edge of one object meets another object, the pixel color at that spot is the color from the object that contributes most to the pixel value.

The Wire Color render element produces results similar to that of Render ID.




The Render ID Render Element is accessible through the RenderChannelRenderID plugin.

Common uses

The Render ID Render Element is useful for isolating geometry in a scene. This means that items can be isolated by use of a matte created from the solid colors within the Render ID pass. Exact RGB values for any object in the scene can be looked up if the XML report is saved.



Render ID Render Element with Use node handle disabled


Render ID Render Element with Use node handle enabled


Geometry Render Elements


Bump Normals

Type: RenderChannelBumpNormals The Bump Normals Render Element creates a normal-style image from the camera view from bumps and normals in the scene.

Overview

Bump Normals is a render element that stores the camera view as a normal map. The normals are generated using screen space which uses the XYZ orientation of the camera view. With Screen space, the X axis runs left-right across the view, Y runs up-down, and Z points out of the screen. Bump maps are also represented in this render element. For a diagram that illustrates how normal-style colors are generated, see the Normals (VRayNormals) page.

This render element is similar to the Normals (VRayNormals) Render Element that does not include bump maps. Also compare with Sampler Info (VRaySamplerInfo), which can render a normal map in object or world space in addition to camera (screen) space.

The Bump Normal Render Element is useful for adjusting lighting that comes from a particular direction. For example, faces of objects pointing toward the camera are predominantly blue in Bump Normals, so the lighting on such objects can be adjusted by using the blue channel in compositing software.




The Bump Normals Render Element is accessible through the RenderChannelBumpNormals plugin.

Common Uses - Relighting

The Bump Normal Render Element is useful for changing the appearance of lighting in a scene in a composite without the need for re-rendering. In the example below a lighting workflow is used at a composite level to change the lighting in the scene. Note that it does not create any extra shadowing. While the Bump Normal Render Element provides information about how lights will affect each surface; the Point Position element passes the spacial location of each pixel. When used together it allows lights added in composite to react on the pixels as if they were the surface of the model.



Bump Normals Render Element



The Point Position pass

(The Sampler Info Render Element was used to create this

in World space with a point multiplier value of 0.001)

Original Beauty Composite



The resulting relit composite





Normals

Type: RenderChannelNormals The Normals Render Element creates a normals image from surface normals in the scene.

Overview

Normals is a render element that stores the camera space normal map using the geometry's surface normals. The Normals Render Element is useful for adjusting lighting in the composite. For example, the red, green and blue channels can be adjusted in compositing software.

Bump maps are not represented in this render element; to include bump maps, use the Bump Normals Render Element. Also compare with the Sampler Info Render Element, which can render a normal map in camera (screen), object, or world space.




The Normals Render Element is accessible through the RenderChannelNormals plugin.

Normals Color Generation

The Normals Render Element uses screen space to determine the colors in the render element. With screen space in the camera view:

The X axis runs left-right perpendicular to the camera viewing angle. This is represented in the Red channel of Normals with 1 being left-facing geometry and 0 being right-facing geometry.

The Y runs up-down perpendicular to the viewing angle. This is represented in the Green channel of Normals with 1 being up-facing geometry and 0 being down-facing geometry.

The Z runs forward-back to the viewing angle. This is represented in the Blue channel of Normals with 1 being forward-facing geometry and 0 being back-facing geometry.


Screen space XYZ coordinate system

relationship to camera and RGB colors


Full Normals Render Element


Common Uses - Relighting

The Normals Render Element is useful for changing the appearance of lighting in a scene in a composite without the need for re-rendering.

In the example below a relighting workflow is used at a composite level to change the lighting in the scene. Note that it does not create any extra shadowing. This example is exactly the same under the hood as that shown in the Bump Normals Render Element page with the only change being that the Normals Render Element was used here instead of the Bump Normals Render Element.



Normals Render Element



The Point Positon pass

(The Sampler Info Render Element was used to create this

in World space with a point multiplier value of 0.001)

Original Beauty Composite



Resulting re-lit Composite





Velocity

Type: RenderChannelVelocity The Velocity Render Element is a color or grayscale image that stores velocity information about objects that have moved between the current frame and the next frame.

Overview

The Velocity Render Element stores surface velocity for moving objects in the scene with different colors representing different velocities. Each moving object is rendered with a flat color or gradient. It is commonly used to create mattes for adding motion blur in a composite. This channel is not generated if 3D motion blur is enabled in 3ds Max.

The shading in the Velocity Render Element is determined by the degree of motion for each object's pivot point. The object's motion between the current frame and the next frame on the X, Y, and Z axes is mapped to R, G, and B components, with movement along the negative axis as 0 and movement along the positive axis as the maximum value. For example, a white object has moved at the maximum velocity on all three axes in a positive direction, while a black object has moved at the maximum velocity in a negative direction on all three axes. A pale yellow object has moved a great deal on all three axes in the positive direction, but mostly on X and Y, while a dark purple object has moved on the -X and -Z axes. A medium gray color indicates no motion.

Because of the relationship between XYZ motion and RGB colors, the Velocity Render Element can be easily split into R, G, and B components during the compositing process and each direction can handled separately or together to add motion blur.



The Velocity Render Element is accessible through the RenderChannelVelocity plugin.

Parameters

  • name - String
  • clamp_velocity - Sets the limit for max velocity. When enabled, this option limits the max velocity value to 1 for floating point images, 255 for 8-bit images, or 65535 for 16-bit images. This option is useful only when writing to an 8-bit or 16-bit file format.
  • max_velocity - Used to scale the velocity values written to the render element so that they fit within the range specified by the clamp velocity parameter. This is only useful if writing to an 8-bit or 16-bit file format.
  • max_velocity_last_frame - Shows the maximum velocity value that was found while rendering the last image. This is a read-only parameter and can be used as a guide for setting the max velocity parameter.
  • ignore_z - Disregards motion along the Z axis.
  • filtering - Boolean


Suggested Workflow

A common workflow for using this render element is to first locate the frame in the sequence that has the most motion, render the frame with the Velocity Render Element enabled, and then note the max velocity in last frame value, which is displayed in the parameters for this render element. Finally, enter this value (or a slightly larger value) for the max velocity parameter when rendering the entire sequence. This workflow provides the maximum range of colors in the Velocity Render Element for the most flexibility during compositing.

Common Uses

The Velocity Render Element is useful for adding motion blur in post-production at a composite level without the need for rerendering. In the composite shown below, motion blur was added based on the amount by which the color differs from medium gray. The feathers that were given a pale yellow color in the render element are the most blurred.


Velocity Render Element


Original Beauty Composite


Beauty Composite with motion blur added using the Velocity Render Element


Wire Color

The Wire Color Render Element renders each object in the scene in its wireframe color.

Overview

The Wire Color Render Element stores the wireframe color of the object as set in the scene. The color is flat, with no highlights or shadows. This render element can be used to generate masks for objects for use in compositing.

Wire Color provides a render element similar to Matte Render Elements. Use Wire Color when you wish to separate objects by wireframe color rather than by Object ID or Material ID.


Common Uses

The Wire Color Render Element is commonly used to create a mask for objects in a scene for color correction or color grading. In the example below, a matte was created for the floor and then used to change the color of the floor by using color correction in composite.



Wire Color Render Element

Matte generated from wire color of the Wire Color Render Element

Original Beauty Composite

Color corrections of floor using matte



Z-Depth

Type: RenderChannelZDepth The Z-Depth Render Element is a grayscale image that renders each pixel based on its distance from the camera in the view.

Overview

The Z-Depth Render Element provides information about each object's distance from the camera in the current view. Each pixel representing the object is evaluated for distance individually; different pixels for the same object can have different grayscale values. In this render element, objects (or portions of objects) closest to the camera appear as white while those furthest away appear black. Objects between the furthest and nearest points are rendered in varying shades of gray. The lighter the gray, the closer an object pixel is to the camera.

The most common usage of the Z-Depth Render Element is as a control for depth of field in the composite. Depth of field can be challenging to do correctly within the host application, requiring many tweaks and re-renders; using the Z-Depth Render Element in a composite is usually much faster, and allows easier and faster adjustment than trying to get it exactly right within the render from the host application.



The Z-Depth Render Element is accessible through the RenderChannelZDepth plugin.

Parameters

  • name - String
  • depth_from_camera - Specifies whether to use to camera clip boundaries as the minimum and maximum Z-Depth distance. Enabling this option disables the zdepth black (zdepth min) and zdepth white (zdepth max) parameters.
  • depth_black - Objects up to this distance from the camera render as white. This option is available only when depth_from_camera is disabled.
  • depth_white - Objects further than this distance from the camera render as black. This option is available only when depth_from_camera is disabled.
  • depth_clamp - Clamps the Z-Depth colors to a linear 0-1 range.
  • filtering - Boolean


Z-Depth Minimum and Maximum

The Z-Depth Render Element parameters for minimum and maximum depth, zdepth min and zdepth max, can be set to various values to provide different ranges of depth in the render element. In these examples, clamp zdepth is enabled and invert zdepth is disabled.



Zdepth min = 0cm, Zdepth max = 600cm

Zdepth min = 0cm, Zdepth max = 1000cm

Zdepth min = 0cm, Zdepth max = 3500cm

Zdepth min = 400cm, Zdepth max = 3500cm

Zdepth min = 600cm, Zdepth max = 3500cm



Common Uses

The Z-Depth Render Element is useful for adding depth of field to the final image in post-production using a compositing application without the need for re-rendering. It can also be used to create basic fog by overlaying it on the composite with Add mode or Screen mode, with color correction as needed.



Depth of field applied to composite using Z-Depth Render Element

Original Beauty Composite

Basic fog applied to composite using Z-Depth Render Element



Utility Render Elements

Utility elements have a wide variety of uses both inside and outside of the compositing process.

Overview

The Utility Render Elements are a group of render elements that are generated for use in a number of different compositing and image manipulation needs.

Some of these render elements are also useful for optimizing renders and troubleshooting issues and aren't necessarily used as images in actual compositing.

Utility Render Elements List

  • Distributed rendering ID (VRayDRBucket) - Creates an image of buckets as colored rectangles, with the name of the machine that rendered the bucket displayed on each bucket. Type: RenderChannelDRBucket
  • Extra texture (VRayExtraTex) - Renders the entire scene with one texture mapped on all objects. Type: RenderChannelExtraTex
  • Illuminance (VRayIlluminance) - Displays the illumination in each part of the scene in a similar way to the Light Meter | VRayLightMeter helper.
  • Material select (VRayMtlSelect) - Writes the result of a V-Ray compatible material into a separate element. The material can be a top-level material or a sub-material of VRayMtlBlend.
  • Sample rate (VRaySampleRate) - Shows where the pixel brightness is directly proportional to the number of samples taken at this pixel. Type: RenderChannelColor
  • Sampler info (VRaySamplerInfo) - Provides information about various aspects of the shaded points such as position, normal, bump normal, reflection/refraction vectors and UVW coordinates. Can be used for world position passes or normal passes.
  • Unclamped color (VRayUnclampedColor) - Renders the unclamped image color.
  • V-Ray Render Options (VRayOptionRE) - A special render element that controls some internal settings for V-Ray that are otherwise unaccessible; it does not generate any actual data.
  • V-Ray Denoiser (VRayDenoiser) - Takes an existing render and applies a denoising operation to smooth out areas of noise in the render.


Examples

Distributed Rendering ID

Extra Texture

Illuminance

Material Select

Sample Rate

Sampler Info Render Element

Unclamped Color Render Element

V-Ray Denoiser




Distributed rendering ID

The Distributed rendering ID Render Element shows the name of the rendering machine that rendered any particular bucket when distributed rendering is used.

Overview

The Distributed rendering ID Render Element renders an image with each bucket shown in a different color, and a short text on each bucket naming the machine that rendered it. A bucket is a region of an image that is being rendered. The render setup must be set to use the Bucket image sampler, which divides the rendering process into render buckets. This render element is useful for assessing machine performance or for troubleshooting a distributed rendering process.



The Distributed rendering ID Render Element is accessible through the RenderChannelDRBucket plugin

Parameters

  • name - String
  • text_alignment - Sets the alignment of the machine name that displays on each bucket.


Extra Texture

The Extra Texture Render Element renders the entire scene with one texture mapped onto all objects in the scene.

Overview

The Extra Texture Render Element shows the rendered image with a single texture applied to all objects in the scene. The texture applied to the scene can be a bitmap or a procedural texture such as TexDirt or TexCurvature.

A common use for Extra Tex is to use TexDirt as the texture, which creates an ambient occlusion element for use in the composite. In this way, ambient occlusion can be controlled separately during the compositing process.

While you can obtain a result similar to the Extra Tex render element by applying the same texture to all objects in the scene and rendering as usual, such an approach requires additional time spent on reverting to actual materials, saving different versions of the scene, etc. The Extra Tex render element provides you with a quick and easy way to render the scene with a single texture without the extra work.

Extra texture with applied a texture



Extra texture with applied TexDirt



Extra texture with applied TexFalloff



The Extra Texture Render Element is accessible through the RenderChannelExtraTex plugin

Parameters

  • name - String
  • consider_for_aa - When enabled, antialiasing is considered where possible.
  • affect_matte_objects - Sets whether to include matte objects when generating the render element. A matte object is an object that has been assigned a Wrapper Material with the Matte surface option enabled.
  • texmap -The texture to apply to the scene.
  • filtering - Boolean
  • exclude_list - List of objects that can be included or excluded from receiving the texture.
  • exclude_list_as_inclusive_set - True : apply extra texture only to objects in excludeList; false : apply extra texture to all objects out of excludeList


Common Uses

The Extra Texture Render Element is useful for changing the appearance of a render in a compositing or image editing software. The example below uses a VRayDirt texture with its radius parameter set to 300cm and subdivs set to 6.


Beauty Render Element


Extra Tex element with VRayDirt texture with a radius of 10cm


Extra Tex element with VRayDirt texture multiplied over the Beauty



Beauty Render Element


Extra Tex element with VRayDirt texture with a radius of 100cm


Extra Tex element with VRayDirt texture multiplied over the Beauty


Illuminance

The Illuminance Render Element is a grayscale or color image that displays the illumination in each part of the scene.

Overview

The Illuminance Render Element displays the illumination in each part of the scene in a similar way to the VRayLightMeter helper. The colors in the render element are scaled to show the maximum and minimum light in the scene as a range from white to black. The maximum amount of illumination is represented as pure white while the minimum is pure black. How the shades of gray or color are represented in between is set by the mode parameter.

This render element is useful for adjusting overall levels of brightness in the composite.



Examples



Illuminance set to Linear mode


 Illuminance set to False colors mode



Material Select

The Material Select Render Element shows a specific material as white and all other materials as black.

Overview

The Material Select Render Element isolates and renders only objects in the scene to which the material selected is applied. All objects in the scene to which the material has been applied render normally with proper lighting, reflections and refractions, and all other objects simply render black.

Similar to the Light Select Render Element, the Material Select Render Element enables isolation of objects with a particular material in the composite.

While you may only have one material at a time specified in a single Material Select element, you may have as many Render Select elements as needed in your scene.



Common Uses

The Material Select Render Element is useful for isolating geometry in a scene based on the selected material. In the examples shown, the window frame material was selected.


Original Beauty Render


Material Select Render Element of objects with blinds material


Material Select Render Element of objects with sofa material



Sample Rate

The Sample Rate Render Element displays the work being done by the image sampler as a red, green, and blue image.

Overview

The Sample Rate Render Element displays the work being done on the image as it is rendering, and shows the job done when the render completes.

A color is assigned to each pixel according to how many primary samples are being taken by the Image Sampler:

  • The Blue channel contains the areas which reached the desired image quality with few primary samples.
  • The Green channel shows areas which required more antialiasing (AA) samples to clean up than the Blue areas, but managed to achieve the Noise Threshold within the number of AA rays used.
  • The Red channel contains the parts of the image which didn't make it to the desired quality threshold, as they reached the maximum amount of AA rays before reaching the Noise Threshold.
  • If the Image Sampler type is Progressive, the White areas represent the areas the sampler is currently working on, as they were found to not satisfy the Noise Threshold as of yet.


The way to ensure a render is correctly computed is to minimize the amount of red color in this render element. Raising secondary sampling through any means reduces the primary sampling work in the corresponding areas, effectively moving red areas into green ones, and green ones into blue ones. Lowering secondary samples per pixel does the opposite, potentially leading to more red areas. The suggested way to minimize the red color and optimize render times to increase the Max AA Subdivs value (if the previous render was still noisy), or increase the Noise Threshold value (if the previous render was clean, but took too long to complete).

Note that some specific image features, like high-frequency detail often found in fur and hair, or high-contrast zones, will likely always try to reach the maximum sampling, so some red will appear there. This is perfectly normal and doesn't slow down the rest of the rendering while ensuring the problematic parts of the image will clean up as per the user's settings.




Common Uses

Sample Rate can be used with both the Bucket and Progressive image samplers.

Bucket Image Sampler

The Sample Rate Render Element is useful for fine-tuning render settings using a "red is bad" rule.

Below is a scene with minimal red in the Sample Rate Render Element, indicating that the sampler had a high enough Max Subdivs value to hit the desired noise level.





Render time = 11m 39s, Max Subdivs = 24, Noise Threshold = 0.01, Min shading rate = 6

The image sampler is mostly able to reach the noise threshold using the subdivisions allotted.


In the next image, the sampler did not have a high enough Max Subdivs value to hit the desired noise level. The high amount of red shows that the image sampler cut off sampling before the image hit the desired noise level. Noise can be decreased by increasing the Max Subdivs parameter to allow the image sampler to reach the desired noise level.






Render time = 6m 17s, Max Subdivs = 8, Noise Threshold = 0.01, Min shading rate = 6
The Image sampler is mostly not able to reach the specified noise threshold.


The primary samples can be allocated to the complex areas of the image by increasing both the Max Subdivs and the Noise Threshold values. This way, V-Ray has available enough primary samples to lower the noise of the complex areas in exchange for an overall slight increase in noise, while still keeping the render times down.






Render time = 5m 37s, Max Subdivs = 12, Noise Threshold = 0.02, Min shading rate = 6
Sample Rate Render Element with not enough max subdivs.
The Image sampler is mostly not able to reach the specified noise threshold.


Alternatively, the image sampler can allocate primary and secondary samples by changing the Min shading rate value.

For this scene, increasing the Min shading rate allows the sampler more secondary samples to focus on cleaning the lighting, GI, reflections and refractions. In exchange, some of the detailed fur and high contrast areas are a bit noisier as there are not enough primary samples taken for those areas.






Render time = 8m 38s, Max Subdivs = 8, Noise Threshold = 0.01, Min shading rate = 20
Sample Rate Render Element with not enough Max Subdivs. 
Less primary samples are needed to hit the desired noise level, since more secondary samples are taken.


Progressive Image Sampler

The Progressive sampler uses the same algorithm as the Bucket sampler. The main difference is that the maximum samples increase as the sampler finishes each pass.



11 passes
Very few samples are given to complex areas of the image


36 passes
Samples start to focus on difficult areas.


200 passes
Many samples start to collect only when needed.

White areas are the primary target now.



Sampler info

The Sampler Info Render Element is a color image that provides information about the scene, with the choice to show any of various aspects as color blocks.

Overview

The Sampler Info Render Element provides information about various aspects of the shaded points such as position, normal, bump normal, reflection/refraction vectors and UVW coordinates. This render element can be used either for world position passes or normal passes. It extracts particular information about the scene, converting the gathered information into RGB data for use in compositing.



Common Uses

The VRaySamplerInfoTex texture extracts particular information about the scene. It then converts the gathered information into RGB data that can be used for compositing.


Sampler Info Render Element with Type set to Point (world space)


Sampler Info Render Element with Type set to Normal vector (world space)


Sampler Info Render Element with Type set to Reflection vector (world space)

Sampler Info Render Element with Type set to Refraction vector (world space)


Sampler Info Render Element with Type set to UVW coordinates


Sampler Info Render Element with Type set to Normal vector with bump mapping


The following examples have the coordinate system set to object space.



Point Type in object space

Reflection vector Type in object space

Refraction vector Type in object space



The following examples have the coordinates system set to camera space.



Point Type in camera space

Reflection vector in camera space

Refraction vector in camera space



The following examples have the coordinates system set to relative space.



Point Type in relative space

Reflection vector Type in relative space

Refraction vector Type in relative space



Example: Re-texturing in composite


Using the Sampler Info Render Element it is possible to apply a new texture to an already rendered still or sequence via setting its type to UVW coordinates. This then enables the creation of what effectively amounts to a new Diffuse Filter Render Element which can then be used in a composite, enabling a change of texture to be easily made. It is worth noting that any UV stretching on the model will carry through into the UVW pass created by Sampler Info as can be seen in the examples below.



The Sampler Info with type set to UVW coordinates

(uvw mode = normal)

Beauty render prior to re-texturing in composite


New texture image applied in composite.

(This effectively creates a new Diffuse Filter Pass.)

Re-textured Beauty render

(Done purely at a composite level)




Unclamped Color

The Unclamped Color Render Element is a color image that shows colors and textures at their unclamped values, which can be helpful when the render itself is clamped within a particular range.

Overview

The Unclamped Color Render Element stores the image's colors and textures with colors that have not been clamped. A number of settings and parameters in V-Ray clamp (limit) colors so they fall within a particular range. This render element provides the unclamped version of the image.

This render element is useful in the compositing process for enhancing extreme colors (very bright or very dark).




Examples



V-Ray Render Options

The OptionRE render element affects the output of other render elements by giving access to a number of otherwise hidden options.

Overview

The OptionRE render element is a special render element that controls some internal settings for V-Ray that are otherwise inaccessible. This render element does not generate an image or data itself, but rather controls other render elements.

Parameters

The following options are accessible through the SettingsRenderChannels plugin.

  • unfiltered_fragment_method - Determines which fragment to use for unfiltered render elements. Possible values are:

    • 0 - best coverage - For each pixel, the final values for the render element are taken from the object that has the largest contribution to that pixel.
    • 1 - closest to camera - For each pixel, the final values for the render element are taken from the pixel that represents geometry closest to the camera.
  • deep_merge_mode - Determines how to blend fragments within a pixel. Controls the generation of deep data for deep OpenEXR 2 and VRST files. With the default setting of By render ID, V-Ray merges the deep fragments within a pixel that belong to the same object, in order to reduce the size of the deep data. This also allows for the perfect separation of the different objects if needed for post-processing purposes.

However this might be undesirable, especially in cases with a single object that is a complex shape (i.e. one VRayProxy object that represents a large portion of the scene environment). In this case, setting this parameter to By Z-depth causes V-Ray to separate the deep fragments based on the similarity of their z-depth values, rather than to which object they belong.

Possible values are:

    • 0 - by render ID - Deep fragments within a pixel are merged based on the objects to which they belong (i.e. objects are differentiated based on their render ID as it appears in the render ID element).
    • 1 - by Z-Depth - Deep fragments within a pixel are merged based on the similarity of their z-depth values. Use the deep merge deep_merge_coeff parameter to control how close fragments need to be in order to merge them.
    • 2 - none
    • deep_merge_coeff - Determines the z-depth blending sensitivity when deep_merge_mode is 1.

V-Ray Denoiser


The Denoiser Render Element removes noise from other render elements and saves its results in a few different ways.

Overview

The Denoiser takes an existing render and applies a denoising operation to it after the image is completely rendered out via normal means. The denoising operation detects areas where noise is present and smooths them out.

Because the Denoiser operates on other render elements (such as Beauty | RGB_Color) rather than being part of the rendering process itself, the denoising operation does not require rerendering of the scene. The Denoiser settings can be quickly changed and tested over and over to improve the result.

The Denoiser has three preset options for its settings; Default, Mild, and Strong. Parameters can also be adjusted directly by selecting the Custom preset.

When rendering, the Denoiser automatically adds a few render channels in the V-Ray frame buffer which are required by the denoising algorithm. Some of them are standard render channels like the diffuse filter color, the reflection filter color etc. A few special channels are also generated:

  • The noiseLevel channel is the amount of noise for a pixel as estimated by the V-Ray image sampler.

  • The defocusAmount channel is non-black when depth of field and motion blur are enabled and contains the estimated pixel blurring in screen space.

  • The Denoiser channel contains the result of the noise removal. If mode is set to Replace RGB element with denoised result, the denoised result replaces the RGB Color channel and is not present separately in the VFB.





Parameters

This render channel is obtained through the RenderChannelDenoiser plugin.

  • name - String (The name of the render element containing the denoised image.)
  • enabled - Whether the denoiser is enabled.
  • enableDeepOutput - Specifies whether to include this render element in deep images.
  • engine - Specifies the denoising engine to use.
    • 0 - Default V-Ray denoiser - It is slower but may produce better results and has a version that runs on CPUs
    • 1 - NVIDIA AI denoiser - It is very fast but may be less accurate and requires a compatible NVIDIA GPU.
    • 2 - Intel Open Image Denoise - It is fast and runs on CPUs (it utilizes advanced instructions sets like AVX2, AVX512). Note that the three denoising engines use slightly different render elements.
  • type - (deprecated) Specifies whether to denoise only the RGB Color Render Element, or others as well. Possible values are:

    • 0 - One-pass denoising on RGB channel only - Does a single pass at denoising on only the RGB Color Render Element, using other elements like the diffuse filter only to guide the denoising process. This method is better at cleaning up noise, but may loose small texture details or may blur too much areas of the image where multiple effects are visible at the same time (f.e. reflections and refractions through glass materials). This mode requires fewer additional render elements and you can use the Depending on denoising type setting of generate render elements to generate just the needed ones for this mode.
    • 1 - Denoise render elements separately - Denoises the lighting, global illumination, specular, reflection, refraction and atmosphere render elements separately and combines them into one denoised version of the RGB image. This method preserves texture details better, but with low settings may fail to clean up some types of noise. Note: This mode can only work correctly if no color mapping is applied to the render, so that the mentioned render elements add up correctly to the RGB image.
  • preset - Offers presets to automatically set noiseLevelMultiplier and radius values. For more information, see the Denoising Presets example below. Possible values are:

    • 0 - Only generate render elements
    • 1 - Mild denoising - Applies a more subtle level of denoising than the Default preset.
    • 2 - The default denoising mode - Applies a mid-level denoising.
    • 3 - Strong mode - Applies a stronger level of denoising than the Default preset.
    • 4 - Custom radius and noise thresholds - Allows the noiseLevelMultiplier and radius parameters to be set to custom values.
      Note that preset does not apply to NVIDIA AI denoiser and Intel Open Image Denoiser.
  • mode - The way the denoiser operates.
    • 0 - Only generate the needed render elements without running the denoiser.
    • 1 - Hide the channel with the denoised result in VFB.
    • 2 - Show the channel with the denoised result in VFB.
  • strength - The main denoiser control. Lower values modify the original image less, but may fail to clean up noise. Larger values are more effective at denoising, but may cause loss of detail. 0.5 is for mild denoising, 1.0 for normal strength and 2.0 for strong denoising.
    Note that strength does not apply to NVIDIA AI denoiser and Intel Open Image Denoiser.
  • radius - Specifies the area around each pixel to be denoised. A smaller radius affects a smaller range of pixels while a larger radius affects a larger range, which increases the noise removal.
    Note that radius does not apply to NVIDIA AI denoiser and Intel Open Image Denoiser.

  • noiseLevelMultiplier - Denoiser strength, a multiplier for the noise level render element from V-Ray.
  • useGPU - Enable usage of GPU version if OpenCL support is found.
    Note that useGPU does not apply to NVIDIA AI denoiser and Intel Open Image Denoiser.
  • silence_optix_init_error - V-Ray denoiser may be chosen over the NVIDIA denoiser in the event of initialization failure even if the latter is explicitly selected.  This flag determines whether the full error message should be printed to the user or not.
  • wrap_around_borders - Specifies that the denoised image can be wrapper around the left/right border. The denoiser can then use this information to avoid generating artifacts over the seamed area.
  • temporal_mode - Specifies if NVIDIA AI denoiser should use temporal mode. Recommended for animations.
  • denoise_alpha - Specifies if the alpha channel should be denoised.
  • optix_use_upscale - When denoiser mode is NVIDIA, specifies if the denoiser should upscale.


Suggested Render Settings

While the denoiser can be quite effective at removing noise, it is not perfect; very noisy images can lead to artifacts and loss of image detail. For most scenes, use Bucket or Progressive image sampler with the Noise threshold set to 0.05 or lower. Additionally, the denoiser works best when the noise levels across the image are similar (the noiseLevel render channel is uniform grey), so using very low sampling is not recommended.

When rendering animations, enabling the Lock noise pattern option in the Global DMC rollout generally improves the results. Using the Standalone vdenoise Tool on the rendered frames can additionally improve the quality of the animation.

Example: Denoising Presets

The example below illustrates how Denoiser works using the presets. A purposely noisy render was set up using the Progressive Image Sampler Type with Render Time set to only 3 minutes to leave plenty of noise in the render. To better see the noise level in each image, click the image to see it at full size.


Example: noiseLevel Render Element

The noiseLevel Render Element shows where areas of noise have been detected in the scene. White areas have the most noise, black areas have no noise, and gray areas have varying levels of noise.

Image denoising takes place after the frame has been rendered and does not show up until all rendering has finished.

Textures or materials such as VRayStochasticFlakesMtl that could be considered to have a purposely noisy look are not considered "noisy" by the Denoiser, and are not affected by the noise removal process.

Was this helpful?