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 Details Link icon

    • DISABLED_STENCIL_FLAG Link icon

      public static final short DISABLED_STENCIL_FLAG
      Deprecated.
      StencilFlags
      See Also:
    • TEST_ALWAYS_PASSES_STENCIL_FLAG Link icon

      public static final short TEST_ALWAYS_PASSES_STENCIL_FLAG
      Deprecated.
      StencilFlags
      See Also:
    • NO_MODIFY_STENCIL_STENCIL_FLAG Link icon

      public static final short NO_MODIFY_STENCIL_STENCIL_FLAG
      Deprecated.
      StencilFlags
      See Also:
    • NO_WRAP_OPS_STENCIL_FLAG Link icon

      public static final short NO_WRAP_OPS_STENCIL_FLAG
      Deprecated.
      StencilFlags
      See Also:
    • SINGLE_SIDED_STENCIL_FLAG Link icon

      public static final short SINGLE_SIDED_STENCIL_FLAG
      Deprecated.
      StencilFlags
      See Also:
    • LAST_STENCIL_FLAG Link icon

      public static final short LAST_STENCIL_FLAG
      Deprecated.
      StencilFlags
      See Also:
    • ALL_STENCIL_FLAGS Link icon

      public static final short ALL_STENCIL_FLAGS
      Deprecated.
      StencilFlags
      See Also:
    • USER_STENCIL_TEST_ALWAYS_IF_IN_CLIP Link icon

      public static final short USER_STENCIL_TEST_ALWAYS_IF_IN_CLIP
      Deprecated.
      UserStencilTest
      See Also:
    • USER_STENCIL_TEST_EQUAL_IF_IN_CLIP Link icon

      public static final short USER_STENCIL_TEST_EQUAL_IF_IN_CLIP
      Deprecated.
      UserStencilTest
      See Also:
    • USER_STENCIL_TEST_LESS_IF_IN_CLIP Link icon

      public static final short USER_STENCIL_TEST_LESS_IF_IN_CLIP
      Deprecated.
      UserStencilTest
      See Also:
    • USER_STENCIL_TEST_LEQUAL_IF_IN_CLIP Link icon

      public static final short USER_STENCIL_TEST_LEQUAL_IF_IN_CLIP
      Deprecated.
      UserStencilTest
      See Also:
    • USER_STENCIL_TEST_ALWAYS Link icon

      public static final short USER_STENCIL_TEST_ALWAYS
      Deprecated.
      See Also:
    • USER_STENCIL_TEST_NEVER Link icon

      public static final short USER_STENCIL_TEST_NEVER
      Deprecated.
      See Also:
    • USER_STENCIL_TEST_GREATER Link icon

      public static final short USER_STENCIL_TEST_GREATER
      Deprecated.
      See Also:
    • USER_STENCIL_TEST_GEQUAL Link icon

      public static final short USER_STENCIL_TEST_GEQUAL
      Deprecated.
      See Also:
    • USER_STENCIL_TEST_LESS Link icon

      public static final short USER_STENCIL_TEST_LESS
      Deprecated.
      See Also:
    • USER_STENCIL_TEST_LEQUAL Link icon

      public static final short USER_STENCIL_TEST_LEQUAL
      Deprecated.
      See Also:
    • USER_STENCIL_TEST_EQUAL Link icon

      public static final short USER_STENCIL_TEST_EQUAL
      Deprecated.
      See Also:
    • USER_STENCIL_TEST_NOTEQUAL Link icon

      public static final short USER_STENCIL_TEST_NOTEQUAL
      Deprecated.
      See Also:
    • LAST_CLIPPED_STENCIL_TEST Link icon

      public static final short LAST_CLIPPED_STENCIL_TEST
      Deprecated.
      See Also:
    • USER_STENCIL_TEST_COUNT Link icon

      public static final int USER_STENCIL_TEST_COUNT
      Deprecated.
      See Also:
    • USER_STENCIL_OP_KEEP Link icon

      public static final byte USER_STENCIL_OP_KEEP
      Deprecated.
      UserStencilOp
      See Also:
    • USER_STENCIL_OP_ZERO Link icon

      public static final byte USER_STENCIL_OP_ZERO
      Deprecated.
      See Also:
    • USER_STENCIL_OP_REPLACE Link icon

      public static final byte USER_STENCIL_OP_REPLACE
      Deprecated.
      See Also:
    • USER_STENCIL_OP_INVERT Link icon

      public static final byte USER_STENCIL_OP_INVERT
      Deprecated.
      See Also:
    • USER_STENCIL_OP_INC_WRAP Link icon

      public static final byte USER_STENCIL_OP_INC_WRAP
      Deprecated.
      See Also:
    • USER_STENCIL_OP_DEC_WRAP Link icon

      public static final byte USER_STENCIL_OP_DEC_WRAP
      Deprecated.
      See Also:
    • USER_STENCIL_OP_INC_MAYBE_CLAMP Link icon

      public static final byte USER_STENCIL_OP_INC_MAYBE_CLAMP
      Deprecated.
      See Also:
    • USER_STENCIL_OP_DEC_MAYBE_CLAMP Link icon

      public static final byte USER_STENCIL_OP_DEC_MAYBE_CLAMP
      Deprecated.
      See Also:
    • USER_STENCIL_OP_ZERO_CLIP_BIT Link icon

      public static final byte USER_STENCIL_OP_ZERO_CLIP_BIT
      Deprecated.
      See Also:
    • USER_STENCIL_OP_SET_CLIP_BIT Link icon

      public static final byte USER_STENCIL_OP_SET_CLIP_BIT
      Deprecated.
      See Also:
    • USER_STENCIL_OP_INVERT_CLIP_BIT Link icon

      public static final byte USER_STENCIL_OP_INVERT_CLIP_BIT
      Deprecated.
      See Also:
    • USER_STENCIL_OP_SET_CLIP_AND_REPLACE_USER_BITS Link icon

      public static final byte USER_STENCIL_OP_SET_CLIP_AND_REPLACE_USER_BITS
      Deprecated.
      See Also:
    • USER_STENCIL_OP_ZERO_CLIP_AND_USER_BITS Link icon

      public static final byte USER_STENCIL_OP_ZERO_CLIP_AND_USER_BITS
      Deprecated.
      See Also:
    • LAST_USER_ONLY_STENCIL_OP Link icon

      public static final byte LAST_USER_ONLY_STENCIL_OP
      Deprecated.
      See Also:
    • LAST_CLIP_ONLY_STENCIL_OP Link icon

      public static final byte LAST_CLIP_ONLY_STENCIL_OP
      Deprecated.
      See Also:
    • USER_STENCIL_OP_COUNT Link icon

      public static final int USER_STENCIL_OP_COUNT
      Deprecated.
      See Also:
    • mCWFlags Link icon

      public final short mCWFlags
      Deprecated.
    • mCWFlags2 Link icon

      public final short mCWFlags2
      Deprecated.
    • mCWFace Link icon

      public final StencilFaceSettings mCWFace
      Deprecated.
    • mCCWFlags Link icon

      public final short mCCWFlags
      Deprecated.
    • mCCWFlags2 Link icon

      public final short mCCWFlags2
      Deprecated.
    • mCCWFace Link icon

      public final StencilFaceSettings mCCWFace
      Deprecated.
  • Constructor Details Link icon

    • UserStencilSettings Link icon

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

      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 Link icon

    • flags Link icon

      public short flags(boolean hasStencilClip)
      Deprecated.
    • isDisabled Link icon

      public boolean isDisabled(boolean hasStencilClip)
      Deprecated.
    • testAlwaysPasses Link icon

      public boolean testAlwaysPasses(boolean hasStencilClip)
      Deprecated.
    • isDoubleSided Link icon

      public boolean isDoubleSided(boolean hasStencilClip)
      Deprecated.
    • usesWrapOp Link icon

      public boolean usesWrapOp(boolean hasStencilClip)
      Deprecated.