From OpenGL Reference
Jump to navigation Jump to search

Specifies the sample coverage mask for the current fragment.



gl_SampleMaskis a fragment language output array that may be used to set the sample mask for the fragment being processed. Coverage for the current fragment will become the logical AND of the coverage mask and the outputgl_SampleMask. That is, setting a bit ingl_SampleMaskto zero will cause the corresponding sample to be considered uncovered for the purposes of multisample fragment operations. However, setting sample mask bits back to one will never enable samples not covered by the original primitive. BitBof maskgl_SampleMask[M]corresponds to sample 32 *M+B. This array must be sized in the fragment shader either implicitly or explicitly to be the same size as the implementation-dependent maximum sample-mask (as an array of 32-bit elements), determined by the maximum number of samples. If the fragment shader statically assigns a value togl_SampleMask, the sample mask will be undefined for any array elements of any fragment shader invocation that fails to assign a value. If a shader does not statically assign a value togl_SampleMask, the sample mask has no effect on the processing of a fragment. If the fragment shader is being evaluated at any frequency other than per-fragment, bits within the sample mask not corresponding to the current fragment shader invocation are ignored.

Version Support[edit]

gl_SampleMask 4.0+

See Also[edit]

 gl_SampleMaskIn , gl_SampleID , gl_SamplePosition , gl_FragCoord 


Copyright© 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999.