GLAPI/glStencilMaskSeparate: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Renaming category: 'GL 4 API Whole Framebuffer' to 'Core API Ref Whole Framebuffer'.
m Bot: Adding better formatting.
 
(3 intermediate revisions by the same user not shown)
Line 8: Line 8:
== Function Definition ==
== Function Definition ==


   void '''glStencilMaskSeparate'''(GLenum ''face'', GLuint ''mask'');
   void '''glStencilMaskSeparate'''(GLenum {{param|face}}, GLuint {{param|mask}});


; face
; face
: Specifies whether the front and/or back stencil writemask is updated. Three symbolic constants are valid: {{code|GL_FRONT}}, {{code|GL_BACK}}, and {{code|GL_FRONT_AND_BACK}}.
: Specifies whether the front and/or back stencil writemask is updated. Three symbolic constants are valid: {{enum|GL_FRONT}}, {{enum|GL_BACK}}, and {{enum|GL_FRONT_AND_BACK}}.
; mask
; mask
: Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's.
: Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's.
Line 17: Line 17:
== Description ==
== Description ==


'''glStencilMaskSeparate''' controls the writing of individual bits in the stencil planes. The least significant ''n'' bits of ''mask'', where ''n'' is the number of bits in the stencil buffer, specify a mask. Where a 1 appears in the mask, it's possible to write to the corresponding bit in the stencil buffer. Where a 0 appears, the corresponding bit is write-protected. Initially, all bits are enabled for writing.
'''glStencilMaskSeparate''' controls the writing of individual bits in the stencil planes. The least significant ''n'' bits of {{param|mask}}, where ''n'' is the number of bits in the stencil buffer, specify a mask. Where a 1 appears in the mask, it's possible to write to the corresponding bit in the stencil buffer. Where a 0 appears, the corresponding bit is write-protected. Initially, all bits are enabled for writing.


There can be two separate ''mask'' writemasks; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. [[GLAPI/glStencilMask|glStencilMask]] sets both front and back stencil writemasks to the same values, as if [[GLAPI/glStencilMaskSeparate|glStencilMaskSeparate]] were called with ''face'' set to {{code|GL_FRONT_AND_BACK}}.
There can be two separate {{param|mask}} writemasks; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. {{apifunc|glStencilMask}} sets both front and back stencil writemasks to the same values, as if {{apifunc|glStencilMaskSeparate}} were called with {{param|face}} set to {{enum|GL_FRONT_AND_BACK}}.


== Errors ==
== Errors ==


{{code|GL_INVALID_ENUM}} is generated if ''face'' is not one of the accepted tokens.
{{enum|GL_INVALID_ENUM}} is generated if {{param|face}} is not one of the accepted tokens.


== Associated Gets ==
== Associated Gets ==


[[GLAPI/glGet|glGet]] with argument {{code|GL_STENCIL_WRITEMASK}}, {{code|GL_STENCIL_BACK_WRITEMASK}}, or {{code|GL_STENCIL_BITS}}
{{apifunc|glGet}} with argument {{enum|GL_STENCIL_WRITEMASK}}, {{enum|GL_STENCIL_BACK_WRITEMASK}}, or {{enum|GL_STENCIL_BITS}}


== See Also ==
== See Also ==


[[GLAPI/glColorMask|glColorMask]], [[GLAPI/glDepthMask|glDepthMask]], [[GLAPI/glStencilFunc|glStencilFunc]], [[GLAPI/glStencilFuncSeparate|glStencilFuncSeparate]], [[GLAPI/glStencilMask|glStencilMask]], [[GLAPI/glStencilOp|glStencilOp]], [[GLAPI/glStencilOpSeparate|glStencilOpSeparate]]
{{apifunc|glClear}}, {{apifunc|glClearBuffer}}, {{apifunc|glColorMask}}, {{apifunc|glDepthMask}}, {{apifunc|glStencilFunc}}, {{apifunc|glStencilFuncSeparate}}, {{apifunc|glStencilMask}}, {{apifunc|glStencilOp}}, {{apifunc|glStencilOpSeparate}}


== Copyright ==
== Copyright ==
Line 37: Line 37:
Copyright © 2006 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. [http://opencontent.org/openpub/ http://opencontent.org/openpub/].
Copyright © 2006 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. [http://opencontent.org/openpub/ http://opencontent.org/openpub/].


[[Category:API Reference 4|StencilMaskSeparate]]
[[Category:Core API Ref Whole Framebuffer|StencilMaskSeparate]]
[[Category:Core API Ref Whole Framebuffer|StencilMaskSeparate]]
[[Category:Core API Reference|StencilMaskSeparate]]

Latest revision as of 01:55, 27 September 2012

glStencilMaskSeparate
Core in version 4.6
Core since version 2.0

glStencilMaskSeparate: control the front and/or back writing of individual bits in the stencil planes

Function Definition

 void glStencilMaskSeparate(GLenum face​, GLuint mask​);
face
Specifies whether the front and/or back stencil writemask is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK.
mask
Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's.

Description

glStencilMaskSeparate controls the writing of individual bits in the stencil planes. The least significant n bits of mask​, where n is the number of bits in the stencil buffer, specify a mask. Where a 1 appears in the mask, it's possible to write to the corresponding bit in the stencil buffer. Where a 0 appears, the corresponding bit is write-protected. Initially, all bits are enabled for writing.

There can be two separate mask​ writemasks; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. glStencilMask sets both front and back stencil writemasks to the same values, as if glStencilMaskSeparate were called with face​ set to GL_FRONT_AND_BACK.

Errors

GL_INVALID_ENUM is generated if face​ is not one of the accepted tokens.

Associated Gets

glGet with argument GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, or GL_STENCIL_BITS

See Also

glClear, glClearBuffer, glColorMask, glDepthMask, glStencilFunc, glStencilFuncSeparate, glStencilMask, glStencilOp, glStencilOpSeparate

Copyright

Copyright © 2006 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. http://opencontent.org/openpub/.