fglTagSampleBufferSGIX(3G) OpenGL Reference fglTagSampleBufferSGIX(3G)NAMEfglTagSampleBufferSGIX - mark all samples of a multisample buffer
FORTRAN SPECIFICATION
SUBROUTINE fglTagSampleBufferSGIX( )
DESCRIPTION
When using a multisample buffer on some systems (see Machine Dependencies
below), fglTagSampleBufferSGIX can be used with some restrictions as a
faster alternative to clearing the depth buffer using fglClear. On these
system, each sample in the multisample buffer carries a tag that can be
either set or cleared. fglTagSampleBufferSGIX sets the tags of all the
samples. When a tag of a sample is set, a depth test against that sample
always succeeds. Note, however, that the stencil test (if enabled) still
uses the stencil value that is stored at the sample. When a color is
written into a sample, its tag is cleared. Depth tests against a sample
with a cleared tag use the depth value stored at the sample.
Initially the state of the tags of all samples is undefined. Clearing
the main color buffer clears all the tags. For a given pixel, the color
values stored in the sample buffer are resolved into the main color
buffer only when the tags of all samples of that pixel are cleared.
Thus, when using fglTagSampleBufferSGIX, it is the responsibility of the
program to ensure that the tags of all samples are cleared (i.e., that a
color is stored into each sample least once) before the frame is
completed.
Using fglTagSampleBufferSGIX is much faster than
fglClear(GL_DEPTH_BUFFER_BIT), but it does not have the same effect
(i.e., no change is made to the contents of the depth buffer).
The result of blending a color into a sample whose tag is set is
undefined. Therefore, blending should be disabled when writing into
samples with set tags.
If a multisample buffer is not available, fglTagSampleBufferSGIX has no
effect.
NOTES
Programs that guarantee that a color value is stored into every sample of
each frame can use fglTagSampleBufferSGIX instead of clearing the depth
and the main color buffer(s), resulting in increased performance.
ERRORS
GL_INVALID_OPERATION is generated if fglTagSampleBufferSGIX is executed
between the execution of fglBegin and the corresponding execution of
fglEnd.
Page 1
fglTagSampleBufferSGIX(3G) OpenGL Reference fglTagSampleBufferSGIX(3G)MACHINE DEPENDENCIES
Sample tags are supported only on RealityEngine, RealityEngine2, and VTX
systems. Sample tags are experimental and might not be supported in
future systems.
SEE ALSO
fglBlendFunc fglClear fglEnable fglSampleMaskSGIS, fglSamplePatternSGIS,
Page 2