Table of Contents

This page provides information on the Image Sampler rollout under the Sampler tab in V-Ray's Render Settings.


Overview


In V-Ray, an image sampler refers to an algorithm for calculating a pixel's color based on the colors within and around it.

Each pixel in a rendering can have only one color. To get the color of a pixel, V-Ray calculates it based on the object's material, direct light striking the object, and indirect lighting in the scene. But within a single pixel there might be multiple colors, which may come from multiple objects whose edge intersect at the same pixel, or even difference in brightness on the same object due to changes in object shape or falloff and/or shadowing of light sources.

To determine the right color for such a pixel, V-Ray looks at (or samples) colors from different parts of the pixel itself as well as the pixels around it. This process is called image sampling. Different image sampling methods are discussed below.


UI Path: ||Properties Editor|| > Render > Sampler tab




Image courtesy of Tuna Unalan

Multiple colors within a single pixel. What color should the pixel be? 




What is Anti-aliasing?


One of the functions of image sampling is anti-aliasing, which is the reduction of jagged edges in a rendering. The following example shows the basic difference between an image with anti-aliasing, and one without. 

If only one sample is taken for the each of the pixels around the edge of the sphere, the choice of pixel color is limited to the dark gray at the edge of the object, or the (white) background. Using one of these colors (i.e. taking only one sample) makes the image look jagged. This is the equivalent of no anti-aliasing at all.

If two or more samples are taken in each pixel, the colors are averaged, and pixels at the edge of the object end up being a color in between the dark gray of the sphere and the background. These in-between colors make the object appear smoother in the final rendering.


1
24



Progressive Sampler



Sampler Type – Specifies the image sampler type:

Progressive – Progressively samples the entire image. See the Progressive Sampler for additional parameters.
Bucket – Takes a variable number of samples per pixel depending on the difference in the intensity of the pixels. See the Bucket Sampler section for additional parameters.

Min Subdivs – Controls the minimum number of samples that each pixel in the image receives. The actual number of the samples is the square of the subdivs.

Max Subdivs – Controls the maximum number of samples that each pixel in the image receives. The actual number of the samples is the square of the subdivs.

Noise ThresholdThe desired noise level in the image. If this is 0.0, the entire image is sampled uniformly until either the Max. subdivs value is reached or the Render time limit is reached.  

Max. Render Time In MinThe maximum render time in minutes. When this number of minutes is reached, the renderer stops. This is the render time for the whole frame; it includes any GI prepasses like light cache, irradiance map, etc. If this is 0.0, the render is not limited in time.

Ray Bundle SizeUseful for distributed rendering in order to control the size of the chunk of work that is handed to each machine. When using distributed rendering, higher values may help to utilize CPUs on the render servers better.

Unlike the bucket image sampler, the Progressive sampler doesn't have a mechanism to recover if a DR server goes offline during rendering before sending back the results from its calculations. The render process may hang indefinitely, waiting for the missing data to arrive. This will be corrected in a future release.


Anti-Aliasing Filter

Filter Type – Specifies the filter type to be used for anti-aliasing. V-Ray supplies eight types of Anti-aliasing filters: None, Area, Box, Catmull-Rom, Cook Variable, Gaussian, Lanczos, Mitchel-Netravali, Sinc, and Triangle. Each has advantages and disadvantages, which make them useful for different tasks. 

Size Determines the size of the filter in pixels. Higher values yield blurrier results. To produce physically accurate results, the minimum value of this parameter is 1.000, and the maximum value is 20.000.  For more information, see the Anti-aliasing Filters example and the Anti-aliasing Filters and Moire Effects example below. 

Animated Noise Pattern – When enabled, the sampling pattern will change with time. Disabling will make the sampling pattern be the same from frame to frame in an animation, which might be undesirable in some cases. Note that re-rendering the same frame will produce the same result in both cases.


Render Mask

Type – Enables the render mask feature. The render mask allows you to define which pixels of the image are calculated. The rest of the pixels are left intact. This feature works best with the V-Ray frame buffer and the Bucket image sampler. The following types are available:

Disabled – The render mask is not used.
Texture – A texture map is used for the render mask. Black values in the map define pixels that are not rendered. Pixels with any other values are rendered. 
Object – A custom set of objects to render can be defined. 
Object IDs – Only objects with specified Object IDs will be rendered; you can list more than one by using commas to separate them.

For more information, see the Render Mask example .





Example: Anti-Aliasing Filters


Here is an example briefly demonstrating the effect of different anti-aliasing filters on the final result.

Note that rendering with a particular filter is not the same as rendering without a filter and then blurring the image in a post-processing program like Adobe Photoshop. Filters are applied on a sub-pixel level, over the individual sub-pixel samples. Therefore, applying the filter at render time produces a much more accurate and subtle result than applying it as a post effect. The zoomed in images below have been zoomed in and cropped 300%.



Filtering is off.


Lanczos filter, size 2.5


Triangle filter

Sinc Filter, size 2.5


Box Filter, size 2.5


Area filter, size 2.5

Catmull-Rom


Cook Variable, size 2.5


Gaussian, size 2.5




Example: Anti-aliasing Filters and Moire Effects


This example demonstrates the effect anti-aliasing filters have on moire effects in your images. Sharpening filters may enhance moire effects, even if your image sampling rate is very high. Blurring filters reduce moire effects. 

Note that moire effects are not necessarily a result of poor image sampling. In general, moire effects appear simply because the image is discretized into square pixels. As such, they are inherent to digital images. The effect can be reduced through the usage of different anti-aliasing filters, but is not completely avoidable. 

The scene is very simple: a sphere with a very fine checker map applied. The images were rendered with a very high sampling rate (15 subdivs, or 225 rays/pixel). This is enough to produce quite an accurate approximation to the pixel values. Note that the image looks quite different depending on the filter:


No Filter

Box Filter

Area Filter, size 1.5

Area Filter, size 4.0

Triangle Filter, size 1.5

Lanczos Filter

Catmull Rom

Gaussian Filter, size 1.5

Gaussian filter, size 6.0

Drag the slider to change the filter type.





Example: Stages of Rendering with the Progressive Sampler


Image after 1 pass

Image after 16 passes

Image after 64 passes

Image after 256 passes

1 pass
256 passes




Bucket Sampler



Lock SubdivsSets a fixed number of samples taken for each pixel.

Min SubdivsDetermines the initial (minimum) number of samples taken for each pixel. You will rarely need to set this to more than 1, except if you have very thin lines that are not captured correctly, or fast-moving objects if you use motion blur. The actual number of samples is the square of this number (e.g. 4 subdivs produce 16 samples per pixel).

Max SubdivsDetermines the maximum number of samples for a pixel. The actual maximum number of samples is the square of this number (e.g. 4 subdivs produce a maximum of 16 samples). Note that V-Ray may take less than the maximum number of samples, if the difference in intensity of the neighboring pixels is small enough. V-Ray GPU's default Max subdivs value is 48.

Noise LimitThe threshold that will be used to determine, if a pixel needs more samples.

Firefly Removal – This option is available in the Bucket Sampler type only. Removes fireflies from the render and optimizes the render times. Further, it removes the flickering effect in animations. Lower values are less aggressive at removing fireflies while higher values are more effective but can start removing actual parts of the image such as small bright highlights. This option is not available with V-Ray GPU.


Anti-Aliasing Filter

Filter Type – Specifies the filter type to be used for anti-aliasing. V-Ray GPU supports Box, Area, Lanczos, and Gaussian filter types. Each has advantages and disadvantages, which make them useful for different tasks. 

Size Determines the size of the filter in pixels. Higher values yield blurrier results. To produce physically accurate results, the minimum value of this parameter is 1.000, and the maximum value is 20.000.  For more information, see the Anti-aliasing Filters example and the Anti-aliasing Filters and Moire Effects example below. 

Animated Noise Pattern – When enabled, the sampling pattern will change with time. Disabling will make the sampling pattern be the same from frame to frame in an animation, which might be undesirable in some cases. Note that re-rendering the same frame will produce the same result in both cases.


Render Mask

Type – Enables the render mask feature. The render mask allows you to define which pixels of the image are calculated. The rest of the pixels are left intact. This feature works best with the V-Ray frame buffer and the Bucket image sampler. The following types are available:

Disabled – The render mask is not used.
Texture – A texture map is used for the render mask. Black values in the map define pixels that are not rendered. Pixels with any other values are rendered. 
Object – A custom set of objects to render can be defined. 
Object IDs – Only objects with specified Object IDs will be rendered; you can list more than one by using commas to separate them.

For more information, see the Render Mask example .


Bucket Options


Bucket Size – Determines the size of the bucket (width and height are equal) in pixels.

Sequence – Determines the order in which the buckets are calculated.

Top-Bottom – Buckets are calculated from top to bottom.
Left-Right – Buckets are calculated from left to right.
Checker – Every other bucket is calculated, creating a checker-like pattern of calculated buckets.
Spiral – Buckets are calculated in a spiral pattern.
Triangulation – 
Hilber curve – 
Random – Buckets are calculated in a random order.

Reverse Sequence – Reverses the bucket calculation order.






This sampler makes a variable number of samples per pixel based on the difference in intensity between the pixel and its neighbors.



This is the preferred sampler for images with lots of small details (like VRayFur for example) and/or blurry effects (DOF, motion blur, glossy reflections etc).

The diagram above shows visually the way V-Ray is placing samples when using the Bucket sampler. The black squares represent the pixels of the image while the dots represent the individual samples. In the first pass V-Ray always places the minimum number of samples determined by the Min. subdivs parameter. Then the color of the samples is compared and more are added where needed in the following passes.



Example: Render Mask



The original image.


The same image, only objects with chrome material were re-rendered.


The actual render mask image - RGB channels.


The actual render mask image - Alpha channel.





Was this helpful?