multis(3G)
multis - specifies the use of the multisample buffer
As shipped in IRIX 6.5.15. Unchanged since IRIX 6.5.
NAME multis - specifies the use of the multisample buffer FORTRAN 77 SPECIFICATION subroutine multis(bool) logical bool PARAMETERS bool bool is either .TRUE. or .FALSE., indicating whether rendering is to make use of the multisample buffer or not. By default multis is TRUE. DESCRIPTION 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 frontb, backbu, leftbu, rightb, 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. 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 czclea 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. czclea 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 NORMAL, and it affects rendering only while drawmode is NORMAL. SEE ALSO msalph, msmask, mspatt, mssize BUGS On the IRIS-4D RealityEngine model the values of frontbuffer, backbuffer, leftbuffer, and rightbuffer should not be changed between the time clear or czclea 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.