multisample(3G) multisample(3G)
multisample - specifies the use of the multisample buffer
void multisample(Boolean bool)
bool is either TRUE or FALSE, indicating whether rendering is to make
use of the multisample buffer or not. By default multisample is
TRUE.
When multisample is enabled, and multisample buffers exist in the current
framebuffer configuration in the current drawmode, rendered primitives
directly affect the samples in the multisample buffer. Immediately after
the multisample locations at a pixel are modified, the front and/or back
framebuffer colors are written with the "average" value of the
multisample color values. No change is made to the standard z buffer or
stencil buffer that may be associated with the color buffers, and their
contents do not affect rendering operation.
Polygons are sampled into the multisample buffer as much as they are
sampled into the standard single-sample buffer. A single color value is
computed for the entire pixel, regardless of the number of samples at
that pixel. Each multisample location is then written with this color,
if and only if, it is geometrically within the exact polygon boundary.
If the Z buffer is enabled, the correct depth value at each multisample
location is computed and used to determine whether that sample should be
written or not. If stencil is enabled, the test is performed at each
multisample location. Framebuffer modes alpha test, blending, dithering,
and writemask affect the modification of the individual multisamples, and
have no effect on the transfer of the "average" color value to the front
or back color buffers. Alternately, buffer enables frontbuffer,
backbuffer, leftbuffer, rightbuffer, and zdraw have no effect on the
modification of the individual multisample locations; they affect only
the transfer of the "average" color value.
Polygon pattern and line style pattern bits apply equally to all
multisample locations at a pixel. All sample locations are considered
for modification if the pattern bit is one. None are considered if the
pattern bit is zero.
Lines are sampled into the multisample buffer as rectangles centered
around the exact zero-area segment. The rectangle width is equal to the
current linewidth. Its length is exactly equal to the length of the
segment. The rectangles of colinear, abutting line segments abut
exactly, so no multisamples are missed or drawn twice near the shared
vertex.
Points are sampled into the multisample buffer as circles centered around
the exact point location. The circle diameter is equal to the current
pointsize.
Page 1
multisample(3G) multisample(3G)
Polysmooth, linesmooth, and pointsmooth, must be disabled while
multisample is enabled, or rendering results are undefined.
Text is sampled into the multisample buffer by converting each '1' in the
character mask into a 1x1 square, which is then sampled just like a
polygon.
During pixel operations either all multisample locations at a pixel are
sampled or all are not.
There are no special clear commands for the multisample buffer. Rather,
the standard clear, zclear, sclear, and czclear commands affect the
multisample buffer as much as they affect the standard color, stencil,
and z buffers. Clear modifies the enabled color buffers, and always
modifies the color portion of each multisample location. zclear operates
on all multisample z locations. sclear operates on all multisample
stencil locations. czclear behaves like clear and zclear, except that
the z value is specified.
When multisample is disabled, but the system is configured for
multisample operation, rendering neither affects the multisample buffer,
nor is it a function of the contents of the multisample buffer. It is as
though there were no multisample buffer at all. zbuffer, if configured
and enabled, tests and updates the standard z buffer, not the zbuffer
locations in the multisample buffer. Likewise stencil, if configured and
enabled, tests and updates the standard stencil buffer, not the stencil
locations in the multisample buffer.
Polysmooth, linesmooth, and pointsmooth are well defined when multisample
is false.
Multisample state is maintained but ignored if no multisample buffer is
configured. Because it is not possible to allocate a multisample buffer
in color index mode, multisample is always ignored in color index mode.
The multisample buffer is a part of the normal framebuffer. multisample
should be called only while drawmode is NORMALDRAW, and it affects
rendering only while drawmode is NORMALDRAW.
msalpha, msmask, mspattern, mssize
On the IRIS-4D RealityEngine model the values of frontbuffer, backbuffer,
leftbuffer, and rightbuffer should not be changed between the time clear
or czclear are called and the time that the rendered image is complete.
At least one of the color buffers must be enabled during all use of the
multisample buffer.
Points are in fact sampled into the multisample buffer as squares where
the squre width is equal to the current pointsize. This will be fixed in
a future release.
PPPPaaaaggggeeee 2222 [ Back ]
|