StencilMode
Allows to set function and reference value for stencil testing, which modifies stencil buffer values to enable or disable drawing on a per-pixel basis. 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.
Inheritance
Code
XML encoding
<StencilMode stencilFunc='none' stencilValue='0' stencilMask='0' stencilOpFail='keep' stencilOpZFail='keep' stencilOpZPass='keep' bitMask='-1' logFeature='' />
Classic encoding
StencilMode { stencilFunc "none" stencilValue 0 stencilMask 0 stencilOpFail "keep" stencilOpZFail "keep" stencilOpZPass "keep" bitMask -1 logFeature [""] }
Interface
Filter: X3D only | Avalon only | All
id | Name | DataType | PartType | Default | ValueType | Description |
---|---|---|---|---|---|---|
stencilFunc | SFString | inputOutput | none | [NONE, NEVER, LESS, LEQUAL, GREATER, GEQUAL, EQUAL, NOTEQUAL, ALWAYS] | comparison function for stencil test | |
stencilValue | SFInt32 | inputOutput | 0 | reference value (between 0 and 2*numberOfBitplanes-1), comparison only if bitmask 1 | ||
stencilMask | SFInt32 | inputOutput | 0 | non negative bitmask, ANDed with the reference value and the stored stencil value when the test is done | ||
stencilOpFail | SFString | inputOutput | keep | [KEEP, ZERO, REPLACE, INCR, DECR, INVERT] | applied if fragment fails stencil test | |
stencilOpZFail | SFString | inputOutput | keep | [KEEP, ZERO, REPLACE, INCR, DECR, INVERT] | applied if fragment fails depth test | |
stencilOpZPass | SFString | inputOutput | keep | [KEEP, ZERO, REPLACE, INCR, DECR, INVERT] | applied if fragment passes depth test | |
bitMask | SFInt32 | inputOutput | -1 | Controls writing of individual bits in stencil planes, here 0 means write protected and 1 write enabled (per bit), defaults to all bits are set. | ||
logFeature | MFString | inputOutput | state, child, parent, route, eventIn, eventOut | controls the logging of changes, state: log state changes (e.g. live), child: log child add/remove, parent: log parent add/remove, route: log route add/remove; eventIn: log receiving of events, eventOut: log sending of events: guiView, runtime system should create node-view, guiEdit: runtime system should create node-editeverything: log everything |