From BlenderWiki

Jump to: navigation, search

Oversampling

Mode: All Modes

Panel: Render Context → Render

Hotkey: F10

Description

A computer generated image is made up of pixels, these pixels can of course only be a single colour. In the rendering process the rendering engine must therefore assign a single colour to each pixel on the basis of what object is shown in that pixel. This often leads to poor results, especially at sharp boundaries, or where thin lines are present, and it is particularly evident for oblique lines. To overcome this problem, which is known as Aliasing, it is possible to resort to an Anti-Aliasing technique. Basically, each pixel is 'oversampled', by rendering it as if it were 5 pixels or more, and assigning an 'average' colour to the rendered pixel. The buttons to control Anti-Aliasing, or OverSAmple (OSA), are below the rendering button in the Render Panel (Render Panel.).

Options

Render Panel.
OSA
Enables oversampling
5 / 8 / 11 / 16
The number of samples to use. The values of OSA (5, 8, 11, 16) are pre-set numbers in specific sample patterns; a higher value produces better edges, but slows down the rendering. By default, we use in Blender a fixed "Distributed Jitter" table. The samples within a pixel are distributed and jittered in a way that guarantees two characteristics:
  1. Each sample has equal distances to its neighbour samples
  2. The samples cover all sub-pixel positions equally, both horizontally and vertically
The images below show Blender sample patterns for 5, 8, 11 and 16 samples. To show that the distribution is equalized over multiple pixels, the neighbour pixel patterns were drawn as well. Note that each pixel has an identical pattern.
5 samples
8 samples
11 samples
16 samples

Filtering

When the samples have been rendered, we've got color and alpha information available per sample. It then is important to define how much each sample contributes to a pixel. The simplest method is to average all samples and make that the pixel color. This is called using a "Box Filter". The disadvantage of this method is that it doesn't take into account that some samples are very close to the edge of a pixel, and therefore could influence the color of the neighbour pixel(s) as well.

Filter menu
The filter type to use to 'average' the samples:
Box
The original filter used in Blender, relatively low quality. For the Box Filter, you can see that only the samples within the pixel itself are added to the pixel's color. For the other filters, the formula ensures that a certain amount of the sample color gets distributed over the other pixels as well.
Tent
A simplistic filter that gives sharp results
Quad
A Quadratic curve
Cubic
A Cubic curve
Gauss
Gaussian distribution, the most blurry
CatRom
Catmull-Rom filter, gives the most sharpening
Mitch
Mitchell-Netravali, a good allround filter that gives reasonable sharpness
Box
Tent
Quadratic
Cubic
Gaussian
Catmull-Rom
Mitchell-Netravali

Making the filter size value smaller will squeeze the samples more into the center, and blur the image more. A larger filter size make the result sharper. Notice that the last two filters also have a negative part, this will give an extra sharpening result.


Examples

Rendering without OSA (left) with OSA=5 (center) and OSA=8 (right).


OSA 8, Box filter
OSA 8, Tent filter
OSA 8, Quadratic filter
OSA 8, Cubic filter
OSA 8, Gaussian filter
OSA 8, Catmull-Rom filter
OSA 8, Mitchell-Netravali filter