Package icyllis.arc3d.engine.trash

# Class UserStencilSettings

java.lang.Object
icyllis.arc3d.engine.trash.UserStencilSettings

@Deprecated public final class UserStencilSettings extends Object
Deprecated.
Engine uses the stencil buffer to implement complex clipping inside the OpsTask class. The OpsTask makes a subset of the stencil buffer bits available for other uses by external code (user bits). Client code can modify these bits. OpsTask will ignore ref, mask, and writemask bits provided by clients that fall outside the user range.

When code outside the OpsTask class uses the stencil buffer the contract is as follows:

> Normal stencil funcs allow the client to pass / fail regardless of the reserved clip bits. > Additional functions allow a test against the clip along with a limited set of tests against the user bits. > Client can assume all user bits are zero initially. > Client must ensure that after all its passes are finished it has only written to the color buffer in the region inside the clip. Furthermore, it must zero all user bits that were modified (both inside and outside the clip).

This struct is a compile-time constant representation of user stencil settings. It describes in abstract terms how a draw will use the stencil buffer. It gets ODR-used at runtime to define a draw's stencil settings, and is later translated into concrete settings when the pipeline is finalized.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final short`
  `ALL_STENCIL_FLAGS`
  Deprecated.
  StencilFlags
  `static final short`
  `DISABLED_STENCIL_FLAG`
  Deprecated.
  StencilFlags
  `static final byte`
  `LAST_CLIP_ONLY_STENCIL_OP`
  Deprecated.
  `static final short`
  `LAST_CLIPPED_STENCIL_TEST`
  Deprecated.
  `static final short`
  `LAST_STENCIL_FLAG`
  Deprecated.
  StencilFlags
  `static final byte`
  `LAST_USER_ONLY_STENCIL_OP`
  Deprecated.
  `final StencilFaceSettings`
  `mCCWFace`
  Deprecated.
  `final short`
  `mCCWFlags`
  Deprecated.
  `final short`
  `mCCWFlags2`
  Deprecated.
  `final StencilFaceSettings`
  `mCWFace`
  Deprecated.
  `final short`
  `mCWFlags`
  Deprecated.
  `final short`
  `mCWFlags2`
  Deprecated.
  `static final short`
  `NO_MODIFY_STENCIL_STENCIL_FLAG`
  Deprecated.
  StencilFlags
  `static final short`
  `NO_WRAP_OPS_STENCIL_FLAG`
  Deprecated.
  StencilFlags
  `static final short`
  `SINGLE_SIDED_STENCIL_FLAG`
  Deprecated.
  StencilFlags
  `static final short`
  `TEST_ALWAYS_PASSES_STENCIL_FLAG`
  Deprecated.
  StencilFlags
  `static final int`
  `USER_STENCIL_OP_COUNT`
  Deprecated.
  `static final byte`
  `USER_STENCIL_OP_DEC_MAYBE_CLAMP`
  Deprecated.
  `static final byte`
  `USER_STENCIL_OP_DEC_WRAP`
  Deprecated.
  `static final byte`
  `USER_STENCIL_OP_INC_MAYBE_CLAMP`
  Deprecated.
  `static final byte`
  `USER_STENCIL_OP_INC_WRAP`
  Deprecated.
  `static final byte`
  `USER_STENCIL_OP_INVERT`
  Deprecated.
  `static final byte`
  `USER_STENCIL_OP_INVERT_CLIP_BIT`
  Deprecated.
  `static final byte`
  `USER_STENCIL_OP_KEEP`
  Deprecated.
  UserStencilOp
  `static final byte`
  `USER_STENCIL_OP_REPLACE`
  Deprecated.
  `static final byte`
  `USER_STENCIL_OP_SET_CLIP_AND_REPLACE_USER_BITS`
  Deprecated.
  `static final byte`
  `USER_STENCIL_OP_SET_CLIP_BIT`
  Deprecated.
  `static final byte`
  `USER_STENCIL_OP_ZERO`
  Deprecated.
  `static final byte`
  `USER_STENCIL_OP_ZERO_CLIP_AND_USER_BITS`
  Deprecated.
  `static final byte`
  `USER_STENCIL_OP_ZERO_CLIP_BIT`
  Deprecated.
  `static final short`
  `USER_STENCIL_TEST_ALWAYS`
  Deprecated.
  `static final short`
  `USER_STENCIL_TEST_ALWAYS_IF_IN_CLIP`
  Deprecated.
  UserStencilTest
  `static final int`
  `USER_STENCIL_TEST_COUNT`
  Deprecated.
  `static final short`
  `USER_STENCIL_TEST_EQUAL`
  Deprecated.
  `static final short`
  `USER_STENCIL_TEST_EQUAL_IF_IN_CLIP`
  Deprecated.
  UserStencilTest
  `static final short`
  `USER_STENCIL_TEST_GEQUAL`
  Deprecated.
  `static final short`
  `USER_STENCIL_TEST_GREATER`
  Deprecated.
  `static final short`
  `USER_STENCIL_TEST_LEQUAL`
  Deprecated.
  `static final short`
  `USER_STENCIL_TEST_LEQUAL_IF_IN_CLIP`
  Deprecated.
  UserStencilTest
  `static final short`
  `USER_STENCIL_TEST_LESS`
  Deprecated.
  `static final short`
  `USER_STENCIL_TEST_LESS_IF_IN_CLIP`
  Deprecated.
  UserStencilTest
  `static final short`
  `USER_STENCIL_TEST_NEVER`
  Deprecated.
  `static final short`
  `USER_STENCIL_TEST_NOTEQUAL`
  Deprecated.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `UserStencilSettings(short ref, short test, short testMask, byte passOp, byte failOp, short writeMask)`
  Deprecated.
  `UserStencilSettings(short cwRef, short ccwRef, short cwTest, short ccwTest, short cwTestMask, short ccwTestMask, byte cwPassOp, byte ccwPassOp, byte cwFailOp, byte ccwFailOp, short cwWriteMask, short ccwWriteMask)`
  Deprecated.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `short`
  `flags(boolean hasStencilClip)`
  Deprecated.
  `boolean`
  `isDisabled(boolean hasStencilClip)`
  Deprecated.
  `boolean`
  `isDoubleSided(boolean hasStencilClip)`
  Deprecated.
  `boolean`
  `testAlwaysPasses(boolean hasStencilClip)`
  Deprecated.
  `boolean`
  `usesWrapOp(boolean hasStencilClip)`
  Deprecated.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### DISABLED_STENCIL_FLAG

    public static final short DISABLED_STENCIL_FLAG
    Deprecated.
    StencilFlags
    See Also:
      - Constant Field Values

  - ### TEST_ALWAYS_PASSES_STENCIL_FLAG

    public static final short TEST_ALWAYS_PASSES_STENCIL_FLAG
    Deprecated.
    StencilFlags
    See Also:
      - Constant Field Values

  - ### NO_MODIFY_STENCIL_STENCIL_FLAG

    public static final short NO_MODIFY_STENCIL_STENCIL_FLAG
    Deprecated.
    StencilFlags
    See Also:
      - Constant Field Values

  - ### NO_WRAP_OPS_STENCIL_FLAG

    public static final short NO_WRAP_OPS_STENCIL_FLAG
    Deprecated.
    StencilFlags
    See Also:
      - Constant Field Values

  - ### SINGLE_SIDED_STENCIL_FLAG

    public static final short SINGLE_SIDED_STENCIL_FLAG
    Deprecated.
    StencilFlags
    See Also:
      - Constant Field Values

  - ### LAST_STENCIL_FLAG

    public static final short LAST_STENCIL_FLAG
    Deprecated.
    StencilFlags
    See Also:
      - Constant Field Values

  - ### ALL_STENCIL_FLAGS

    public static final short ALL_STENCIL_FLAGS
    Deprecated.
    StencilFlags
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_TEST_ALWAYS_IF_IN_CLIP

    public static final short USER_STENCIL_TEST_ALWAYS_IF_IN_CLIP
    Deprecated.
    UserStencilTest
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_TEST_EQUAL_IF_IN_CLIP

    public static final short USER_STENCIL_TEST_EQUAL_IF_IN_CLIP
    Deprecated.
    UserStencilTest
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_TEST_LESS_IF_IN_CLIP

    public static final short USER_STENCIL_TEST_LESS_IF_IN_CLIP
    Deprecated.
    UserStencilTest
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_TEST_LEQUAL_IF_IN_CLIP

    public static final short USER_STENCIL_TEST_LEQUAL_IF_IN_CLIP
    Deprecated.
    UserStencilTest
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_TEST_ALWAYS

    public static final short USER_STENCIL_TEST_ALWAYS
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_TEST_NEVER

    public static final short USER_STENCIL_TEST_NEVER
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_TEST_GREATER

    public static final short USER_STENCIL_TEST_GREATER
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_TEST_GEQUAL

    public static final short USER_STENCIL_TEST_GEQUAL
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_TEST_LESS

    public static final short USER_STENCIL_TEST_LESS
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_TEST_LEQUAL

    public static final short USER_STENCIL_TEST_LEQUAL
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_TEST_EQUAL

    public static final short USER_STENCIL_TEST_EQUAL
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_TEST_NOTEQUAL

    public static final short USER_STENCIL_TEST_NOTEQUAL
    Deprecated.
    See Also:
      - Constant Field Values

  - ### LAST_CLIPPED_STENCIL_TEST

    public static final short LAST_CLIPPED_STENCIL_TEST
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_TEST_COUNT

    public static final int USER_STENCIL_TEST_COUNT
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_OP_KEEP

    public static final byte USER_STENCIL_OP_KEEP
    Deprecated.
    UserStencilOp
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_OP_ZERO

    public static final byte USER_STENCIL_OP_ZERO
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_OP_REPLACE

    public static final byte USER_STENCIL_OP_REPLACE
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_OP_INVERT

    public static final byte USER_STENCIL_OP_INVERT
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_OP_INC_WRAP

    public static final byte USER_STENCIL_OP_INC_WRAP
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_OP_DEC_WRAP

    public static final byte USER_STENCIL_OP_DEC_WRAP
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_OP_INC_MAYBE_CLAMP

    public static final byte USER_STENCIL_OP_INC_MAYBE_CLAMP
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_OP_DEC_MAYBE_CLAMP

    public static final byte USER_STENCIL_OP_DEC_MAYBE_CLAMP
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_OP_ZERO_CLIP_BIT

    public static final byte USER_STENCIL_OP_ZERO_CLIP_BIT
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_OP_SET_CLIP_BIT

    public static final byte USER_STENCIL_OP_SET_CLIP_BIT
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_OP_INVERT_CLIP_BIT

    public static final byte USER_STENCIL_OP_INVERT_CLIP_BIT
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_OP_SET_CLIP_AND_REPLACE_USER_BITS

    public static final byte USER_STENCIL_OP_SET_CLIP_AND_REPLACE_USER_BITS
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_OP_ZERO_CLIP_AND_USER_BITS

    public static final byte USER_STENCIL_OP_ZERO_CLIP_AND_USER_BITS
    Deprecated.
    See Also:
      - Constant Field Values

  - ### LAST_USER_ONLY_STENCIL_OP

    public static final byte LAST_USER_ONLY_STENCIL_OP
    Deprecated.
    See Also:
      - Constant Field Values

  - ### LAST_CLIP_ONLY_STENCIL_OP

    public static final byte LAST_CLIP_ONLY_STENCIL_OP
    Deprecated.
    See Also:
      - Constant Field Values

  - ### USER_STENCIL_OP_COUNT

    public static final int USER_STENCIL_OP_COUNT
    Deprecated.
    See Also:
      - Constant Field Values

  - ### mCWFlags

    public final short mCWFlags
    Deprecated.

  - ### mCWFlags2

    public final short mCWFlags2
    Deprecated.

  - ### mCWFace

    public final StencilFaceSettings mCWFace
    Deprecated.

  - ### mCCWFlags

    public final short mCCWFlags
    Deprecated.

  - ### mCCWFlags2

    public final short mCCWFlags2
    Deprecated.

  - ### mCCWFace

    public final StencilFaceSettings mCCWFace
    Deprecated.

- ## Constructor Details

  - ### UserStencilSettings

    public UserStencilSettings(short ref, short test, short testMask, byte passOp, byte failOp, short writeMask)
    Deprecated.

  - ### UserStencilSettings

    public UserStencilSettings(short cwRef, short ccwRef, short cwTest, short ccwTest, short cwTestMask, short ccwTestMask, byte cwPassOp, byte ccwPassOp, byte cwFailOp, byte ccwFailOp, short cwWriteMask, short ccwWriteMask)
    Deprecated.

- ## Method Details

  - ### flags

    public short flags(boolean hasStencilClip)
    Deprecated.

  - ### isDisabled

    public boolean isDisabled(boolean hasStencilClip)
    Deprecated.

  - ### testAlwaysPasses

    public boolean testAlwaysPasses(boolean hasStencilClip)
    Deprecated.

  - ### isDoubleSided

    public boolean isDoubleSided(boolean hasStencilClip)
    Deprecated.

  - ### usesWrapOp

    public boolean usesWrapOp(boolean hasStencilClip)
    Deprecated.