diff options
Diffstat (limited to 'nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/stencilop.gl')
-rw-r--r-- | nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/stencilop.gl | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/stencilop.gl b/nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/stencilop.gl new file mode 100644 index 000000000..6aa66736f --- /dev/null +++ b/nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/stencilop.gl @@ -0,0 +1,155 @@ +_C_ License Applicability. Except to the extent portions of this file are +_C_ made subject to an alternative license as permitted in the SGI Free +_C_ Software License B, Version 1.1 (the "License"), the contents of this +_C_ file are subject only to the provisions of the License. You may not use +_C_ this file except in compliance with the License. You may obtain a copy +_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 +_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: +_C_ +_C_ http://oss.sgi.com/projects/FreeB +_C_ +_C_ Note that, as provided in the License, the Software is distributed on an +_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS +_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND +_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A +_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT. +_C_ +_C_ Original Code. The Original Code is: OpenGL Sample Implementation, +_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, +_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. +_C_ Copyright in any portions created by third parties is as indicated +_C_ elsewhere herein. All Rights Reserved. +_C_ +_C_ Additional Notice Provisions: The application programming interfaces +_C_ established by SGI in conjunction with the Original Code are The +_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released +_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version +_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X +_C_ Window System(R) (Version 1.3), released October 19, 1998. This software +_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation +_C_ published by SGI, but has not been independently verified as being +_C_ compliant with the OpenGL(R) version 1.2.1 Specification. +_C_ +_C_ The first character in this file must be an '_'! +_C_ Anything on a line after _C_ is ignored +_define(_filters,tbl|eqn)_C_ +_C_ eqn is automatically replaced with neqn for nroff +_header(StencilOp,set stencil test actions) +.EQ +delim $$ +.EN +_names(StencilOp) +.SH PARAMETERS +_phead(_param1) +Specifies the action to take when the stencil test fails. +Six symbolic constants are accepted: +_const(KEEP), +_const(ZERO), +_const(REPLACE), +_const(INCR), +_const(DECR), and +_const(INVERT). The initial value is _const(KEEP). +_phead(_param2) +Specifies the stencil action when the stencil test passes, +but the depth test fails. +_param2 accepts the same symbolic constants as _param1. The initial value +is _const(KEEP). +_phead(_param3) +Specifies the stencil action when both the stencil test and the depth +test pass, or when the stencil test passes and either there is no +depth buffer or depth testing is not enabled. +_param3 accepts the same symbolic constants as _param1. The initial value +is _const(KEEP). +.SH DESCRIPTION +Stenciling, +like depth-buffering, +enables and disables drawing on a per-pixel basis. +You draw into the stencil planes using GL drawing primitives, +then render geometry and images, +using the stencil planes to mask out portions of the screen. +Stenciling is typically used in multipass rendering algorithms +to achieve special effects, +such as decals, +outlining, +and constructive solid geometry rendering. +.P +The stencil test conditionally eliminates a pixel based on the outcome +of a comparison between the value in the stencil buffer and a +reference value. To enable and disable the test, call _cmnd(Enable) +and _cmnd(Disable) with argument +_const(STENCIL_TEST); to control it, call _cmnd(StencilFunc). +.P +_cmnd takes three arguments that indicate what happens +to the stored stencil value while stenciling is enabled. +If the stencil test fails, +no change is made to the pixel's color or depth buffers, +and _param1 specifies what happens to the stencil buffer contents. +The following six actions are possible. +.TP 16 +_const( KEEP) +Keeps the current value. +.TP +_const( ZERO) +Sets the stencil buffer value to 0. +.TP +_const( REPLACE) +Sets the stencil buffer value to \f2ref\fP, +as specified by _cmnd(StencilFunc). +.TP +_const( INCR) +Increments the current stencil buffer value. +Clamps to the maximum representable unsigned value. +.TP +_const( DECR) +Decrements the current stencil buffer value. +Clamps to 0. +.TP +_const( INVERT) +Bitwise inverts the current stencil buffer value. +.P +Stencil buffer values are treated as unsigned integers. +When incremented and decremented, +values are clamped to 0 and $2 sup n - 1$, +where $n$ is the value returned by querying _const(STENCIL_BITS). +.P +The other two arguments to _cmnd specify stencil buffer actions +that depend on whether subsequent depth buffer tests succeed (_param3) +or fail (_param2) (see +.br +_cmnd(DepthFunc)). +The actions are specified using the same six symbolic constants as _param1. +Note that _param2 is ignored when there is no depth buffer, +or when the depth buffer is not enabled. +In these cases, _param1 and _param3 specify stencil action when the +stencil test fails and passes, +respectively. +.SH NOTES +Initially the stencil test is disabled. +If there is no stencil buffer, +no stencil modification can occur +and it is as if the stencil tests always pass, +regardless of any call to _cmnd. +.SH ERRORS +_const(INVALID_ENUM) is generated if _param1, +_param2, or _param3 is any value other than the six defined constant values. +.P +_const(INVALID_OPERATION) is generated if _cmnd +is executed between the execution of _cmnd(Begin) +and the corresponding execution of _cmnd(End). +.SH ASSOCIATED GETS +_cmnd(Get) with argument _const(STENCIL_FAIL) +.br +_cmnd(Get) with argument _const(STENCIL_PASS_DEPTH_PASS) +.br +_cmnd(Get) with argument _const(STENCIL_PASS_DEPTH_FAIL) +.br +_cmnd(Get) with argument _const(STENCIL_BITS) +.br +_cmnd(IsEnabled) with argument _const(STENCIL_TEST) +.SH SEE ALSO +_cmnd(AlphaFunc), +_cmnd(BlendFunc), +_cmnd(DepthFunc), +_cmnd(Enable), +_cmnd(LogicOp), +_cmnd(StencilFunc) |