Package icyllis.arc3d.engine

# Class DepthStencilSettings

java.lang.Object
icyllis.arc3d.engine.DepthStencilSettings

@Immutable public final class DepthStencilSettings extends Object
This class defines concrete depth and stencil settings that map directly to the underlying 3D API.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static final class`
  `DepthStencilSettings.Face`
  Per-face stencil settings.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final byte`
  `COMPARE_OP_ALWAYS`
  CompareOp for depth test and stencil test.
  `static final byte`
  `COMPARE_OP_EQUAL`
  CompareOp for depth test and stencil test.
  `static final byte`
  `COMPARE_OP_GEQUAL`
  CompareOp for depth test and stencil test.
  `static final byte`
  `COMPARE_OP_GREATER`
  CompareOp for depth test and stencil test.
  `static final byte`
  `COMPARE_OP_LEQUAL`
  CompareOp for depth test and stencil test.
  `static final byte`
  `COMPARE_OP_LESS`
  CompareOp for depth test and stencil test.
  `static final byte`
  `COMPARE_OP_NEVER`
  CompareOp for depth test and stencil test.
  `static final byte`
  `COMPARE_OP_NOTEQUAL`
  CompareOp for depth test and stencil test.
  `final DepthStencilSettings.Face`
  `mBackFace`
  `final byte`
  `mDepthCompareOp`
  `final boolean`
  `mDepthTest`
  `final boolean`
  `mDepthWrite`
  `final DepthStencilSettings.Face`
  `mFrontFace`
  `final boolean`
  `mStencilTest`
  `static final byte`
  `STENCIL_OP_DEC_CLAMP`
  StencilOp.
  `static final byte`
  `STENCIL_OP_DEC_WRAP`
  StencilOp.
  `static final byte`
  `STENCIL_OP_INC_CLAMP`
  StencilOp.
  `static final byte`
  `STENCIL_OP_INC_WRAP`
  StencilOp.
  `static final byte`
  `STENCIL_OP_INVERT`
  StencilOp.
  `static final byte`
  `STENCIL_OP_KEEP`
  StencilOp.
  `static final byte`
  `STENCIL_OP_REPLACE`
  StencilOp.
  `static final byte`
  `STENCIL_OP_ZERO`
  StencilOp.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DepthStencilSettings(DepthStencilSettings.Face frontFace, DepthStencilSettings.Face backFace, byte depthCompareOp, boolean depthWrite, boolean stencilTest, boolean depthTest)`
  If stencil test is disabled, then two faces must be null.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object o)`
  `int`
  `hashCode()`
  `boolean`
  `isTwoSided()`

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

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

- ## Field Details

  - ### COMPARE_OP_NEVER

    public static final byte COMPARE_OP_NEVER
    CompareOp for depth test and stencil test.
    See Also:
      - Constant Field Values

  - ### COMPARE_OP_LESS

    public static final byte COMPARE_OP_LESS
    CompareOp for depth test and stencil test.
    See Also:
      - Constant Field Values

  - ### COMPARE_OP_EQUAL

    public static final byte COMPARE_OP_EQUAL
    CompareOp for depth test and stencil test.
    See Also:
      - Constant Field Values

  - ### COMPARE_OP_LEQUAL

    public static final byte COMPARE_OP_LEQUAL
    CompareOp for depth test and stencil test.
    See Also:
      - Constant Field Values

  - ### COMPARE_OP_GREATER

    public static final byte COMPARE_OP_GREATER
    CompareOp for depth test and stencil test.
    See Also:
      - Constant Field Values

  - ### COMPARE_OP_NOTEQUAL

    public static final byte COMPARE_OP_NOTEQUAL
    CompareOp for depth test and stencil test.
    See Also:
      - Constant Field Values

  - ### COMPARE_OP_GEQUAL

    public static final byte COMPARE_OP_GEQUAL
    CompareOp for depth test and stencil test.
    See Also:
      - Constant Field Values

  - ### COMPARE_OP_ALWAYS

    public static final byte COMPARE_OP_ALWAYS
    CompareOp for depth test and stencil test.
    See Also:
      - Constant Field Values

  - ### STENCIL_OP_KEEP

    public static final byte STENCIL_OP_KEEP
    StencilOp.
    See Also:
      - Constant Field Values

  - ### STENCIL_OP_ZERO

    public static final byte STENCIL_OP_ZERO
    StencilOp.
    See Also:
      - Constant Field Values

  - ### STENCIL_OP_REPLACE

    public static final byte STENCIL_OP_REPLACE
    StencilOp.
    See Also:
      - Constant Field Values

  - ### STENCIL_OP_INC_CLAMP

    public static final byte STENCIL_OP_INC_CLAMP
    StencilOp.
    See Also:
      - Constant Field Values

  - ### STENCIL_OP_DEC_CLAMP

    public static final byte STENCIL_OP_DEC_CLAMP
    StencilOp.
    See Also:
      - Constant Field Values

  - ### STENCIL_OP_INVERT

    public static final byte STENCIL_OP_INVERT
    StencilOp.
    See Also:
      - Constant Field Values

  - ### STENCIL_OP_INC_WRAP

    public static final byte STENCIL_OP_INC_WRAP
    StencilOp.
    See Also:
      - Constant Field Values

  - ### STENCIL_OP_DEC_WRAP

    public static final byte STENCIL_OP_DEC_WRAP
    StencilOp.
    See Also:
      - Constant Field Values

  - ### mFrontFace

    public final DepthStencilSettings.Face mFrontFace

  - ### mBackFace

    public final DepthStencilSettings.Face mBackFace

  - ### mDepthCompareOp

    public final byte mDepthCompareOp

  - ### mDepthWrite

    public final boolean mDepthWrite

  - ### mStencilTest

    public final boolean mStencilTest

  - ### mDepthTest

    public final boolean mDepthTest

- ## Constructor Details

  - ### DepthStencilSettings

    public DepthStencilSettings(DepthStencilSettings.Face frontFace, DepthStencilSettings.Face backFace, byte depthCompareOp, boolean depthWrite, boolean stencilTest, boolean depthTest)
    If stencil test is disabled, then two faces must be null. If depth test is disabled, then depth compare op must be Never.

- ## Method Details

  - ### isTwoSided

    public boolean isTwoSided()

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### equals

    public boolean equals(Object o)
    Overrides:
      `equals` in class `Object`