Image Sampler (Antialiasing)
Adaptive subdivision sampler
In V-Ray, an image sampler refers to an algorithm for sampling and filtering the image function, and producing the final array of pixels that constitute the rendered image.
V-Ray implements several algorithms for sampling an image. All image samplers support MAX's standard antialiasing filters, although at the cost of increased rendering time. You can choose between Fixed rate sampler, Adaptive DMC sampler and Adaptive subdivision sampler.
Type - specifies the image sampler type:
Fixed - this sampler always takes the same number of samples per pixel;
Adaptive - this sampler takes a variable number of samples per pixel depending on the difference in the intensity of the pixels;
Adaptive subdivision - this sampler divides the image into an adaptive grid-like structure and refines depending on the difference in pixel intensity.
Progressive - this sampler progressively samples the entire image.
Min shading rate - this option allows you to control the number of rays shot for AA versus rays for other effects like glossy reflections, GI, area shadows etc. It is especially useful with the Progressive image sampler. Higher values mean that less time will be spent on AA, and more effort will be put in the sampling of shading effects.
When loading scenes saved with V-Ray 2.x, the Min shading rate parameter is set to 1 in order to produce the same results as the previous V-Ray versions.
Below are some examples demonstrating the effect of this parameter.
Shading rate is 1 Shading rate is 16
Both of the images above rendered with the Progressive image sampler for the same amount of time. With Shading rate set to 16, at least 16 GI rays are shot for each AA ray, which produces smoother GI, but overall leads to less samples left for the DOF effect.
Render mask - this option enables the render mask feature. The render mask allows you 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 Fixed or Adaptive image samplers. The following types are available:
None - render mask is not used;
Texture - a texture map is used for the render mask. Black values in the map define pixels which are not rendered. Pixels with any other values are rendered. The texture should use screen mapping type;
Selected - only pixels that belong to the currently selected object(s) are rendered. V-Ray will still go through the entire image, but will only render parts that belong to the selected object(s). This mode is useful if you want to isolate or re-render just some objects from the scene;
Include/exclude list - the list of objects to render is specified through an include (or exclude) list;
Layers - the list of objects to render is specified as a subset of the scene layers.
Image filter - this enables sub-pixel filtering. When it is off, an internal 1x1 pixel box filter is used.
Filter - specifies the filter type. All standard 3ds Max filters are supported with the exception of the Plate Match filter. See the Examples section for more information on antialiasing filters. Avoid using filters with negative components (sharpening filters) like Catmull-Rom or Mitchell-Netravali when using the Progressive sampler as this may increase the render times quite a bit - the sampler needs to take additional image samples to resolve the filter.
This is the simplest image sampler, and it takes a fixed number of samples for each pixel.
Subdivs - determines number of samples per pixel. When this is set to 1, one sample at the center of each pixel is taken. If this is greater than 1, the samples are distributed within the pixel. The actual number of pixels is the square of this parameter (e.g. 4 subdivs produce 16 samples per pixel).
This sampler makes a variable number of samples per pixel based on the difference in intensity between the pixel and its neighbors.
The following diagram shows visually the way V-Ray is placing samples when using the Adaptive DMC sampler. The black squares represent the pixels of the image whie 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 samples is compared and more are added where needed in the following passes.
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). It also takes up less RAM than the Adaptive subdivision sampler.
Min subdivs - determines 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 pixels is the square of this number (e.g. 4 subdivs produce 16 samples per pixel).
Max subdivs - determines the maximum number of samples for a pixel. The actual maximum number of sampler is the square of this number (e.g. 4 subdivs produces 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 neighbouring pixels is small enough.
Use DMC sampler threshold - when this is on (the default), V-Ray will use the threshold specified in the DMC sampler to determine if more samples are needed for a pixel. When this is off, the Color threshold parameter will be used instead.
Color threshold - the threshold that will be used to determine if a pixel needs more samples. This is ignored if the Use DMC sampler threshold option is on.
This is an advanced image sampler capable of undersampling (taking less than one sample per pixel). In the absence of blurry effects (direct GI, DOF, glossy reflection/reftaction etc) this is the best preferred image sampler in V-Ray. On average it takes fewer samples (and thus less time) to achieve the same image quality as the other image samplers. However, with detailed textures and/or blurry effects, it can be slower and produce worse results than the other two methods.
The following diagram shows visually the way V-Ray works when using the Adaptive Subdivision image sampler. With this mode V-Ray creates a secondary grid on top of the pixel grid and uses this grid to position the samples. This allows it to use less than a sample per pixel. After the first pass the samples are compared and if the difference between two samples is bigger than the values in the thresholds the grid is subdivided and more samples are added. During the whole time V-Ray has to keep the whole grid in the memory which makes this method less memory efficient compared to the other two methods - see the Notes below.
Min. rate - controls minimum number of samples per pixel. A value of zero means one sample per pixel; -1 means one sample every two pixels; -2 means one sample every 4 pixels etc.
Max. rate - controls maximum number of samples per pixel; zero means one sample per pixel, 1 means four samples, 2 means eight samples etc.
Color threshold - determines the sensitivity of the sampler to changes in pixel intensity. Lower values will produce better results, while higher values will be faster, but may leave some areas of similar intensity undersampled.
Randomize samples - displaces the samples slightly to produce better antialiasing of nearly horizontal or vertical lines.
Object outline - this will cause the image sampler to always supersample object edges (regardless of whether they actually need to be supersampled). This option has no effect if DOF or motion blur is enabled.
Normals - this will supersample areas with sharply varying normals. This option has no effect if DOF or motion blur is enabled.
The Progressive sampler is similar to the Adaptive sampler, but instead of rendering the image in buckets, it renders the entire image progressively in passes.
The advantage of this sampler is that you can see an image very quickly, and then let it refine for as long as necessary as additional passes are being computed. This is contrast to the bucket-based image samplers, where the image is not complete until the final bucket is done.
A disadvantage is that more data needs to be kept in memory, especially when working with render elements. Also, when using distributed rendering, because of the continous refinement, frequent communication between the client machine and the render servers is required, which may reduce the CPU utilization on the render slaves. This effect can be controlled to some extent using the Ray bundle size and Min shading rate parameters.
Avoid using the Progressive sampler with sharpening image filters (Catmull-Rom, Mitchell-Netravali) as this may slow down the rendering - additional image samples will be required to resolve sharpening filters properly.
Below are some snapshots from a progressive rendering at different stages.
Image after 1 pass
Image after 16 passes
Image after 64 passes
Image after 256 passes
Min. subdivs - controls the minimum number of samples that each pixel in the image will receive. 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 will receive. The actual number of the samples is the square of the subdivs. If zero,
Render time - the maximum render time in minutes. This is the render time for the final pixels only; it does not include any GI prepasses like light cache, irradiance map etc. If this is 0.0, the render is not limited in time.
Noise threshold - the 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.
Ray bundle size - this option is useful for distributed rendering 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.
Show adaptive mask - this option allows to see a mask of the pixels that remain to be sampled.