. .
Next: The Ray Tree Up: Running Rayshade Previous: Statistics Reporting

Antialiasing

Given a screen of a fixed size, creating an image is accomplished by sampling each pixel one or more times in order to determine what can be seen ``through'' that pixel by the camera. A pixel thus covers a square area of the image plane, not just a single point.

If a pixel is not sampled at the proper rate, aliasing will result. Aliasing usually appears as ``jaggies'' or ``stair steps'' in the image. In order to reduce these and other artifacts, rayshade provides an adaptive jittered antialiasing scheme that attempts to detect where increased sampling rates are needed. In jittered sampling, the location at which a sample is taken is perturbed by a random amount. This perturbation reduces aliasing but adds noise to the image. Appendix B (??) describes how jittered time sampling is implemented in rayshade.

The adaptive sampling scheme implemented in rayshade begins by sampling each pixel on the current scanline once. For each pixel on the scanline, the contrast between it and its four immediate neighbors is computed. If this contrast is greater than a user-specified maximum in any color channel, the pixel and its neighbors are all supersampled by firing an additional (numsamples^2)-1 rays through those pixels that have not already been supersampled. This process is repeated for the current scanline until a pass is made without any pixel being supersampled.

contrast redcont greencont bluecont
Set the maximum allowed contrast between four color samples when adaptive supersampling is used. The contrast test is applied to each color channel separately.

The default maximum contrast values for the red, green, and blue channels are 0.25, 0.2, and 0.4, respectively. These values will be overridden when using the -T option.

sample n [nojitter]
Use n^2 samples when performing jittered sampling. The maximum legal value is 5. If nojitter is specified, sample locations and times will not be jittered.

By default, 3^2 jittered samples are taken. This can also be set by using the -S option.

A given set of sample values must be filtered in order to assign a color to a pixel. Ideally, when performing filtering for a specific pixel, the filter will consider samples from neighboring regions. In rayshade, the filtering applied to a pixel makes use of samples taken for that pixel alone. However, one may increase the size of the filter that is applied in order to approximate the results a more robust filtering scheme.

filter type [width]
Use the indicated filter type with the given width, in pixels. Supported filter types are gauss (Gaussian) and box (the default).

The default filter width is 1.0 for a box filter, 1.8 for a Gaussian filter. The filter and pixel centers always coincide. When sampling a pixel, samples are taken over the area of the pixel filter, which is not necessarily the same as the area of the pixel itself. The Gaussian filter can also be selected by using the -g option.

Jittered sampling is used in rayshade to sample extended light sources as well. A total of samples^2 samples are taken of each extended light source in order to determine the extent of shadowing.

. .
Next: The Ray Tree Up: Running Rayshade Previous: Statistics Reporting

Jelle van Zeijl (jvzeijl@iso.estec.esa.nl)
Wed Jun 15 16:19:08 MET DST 1994