Package icyllis.arc3d.granite

# Class DrawPass.SortKey

java.lang.Object
icyllis.arc3d.granite.DrawPass.SortKey

All Implemented Interfaces:
  `Comparable<DrawPass.SortKey>`

Enclosing class:
  `DrawPass`

public static final class DrawPass.SortKey extends Object implements Comparable<DrawPass.SortKey>
The sorting is used to minimize state change.

Sorting order: painter's order, stencil disjoint set index, render step index, pipeline index, geometry uniform index, fragment uniform index, texture and sampler binding

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `FRAGMENT_UNIFORM_INDEX_MASK`
  `static final int`
  `FRAGMENT_UNIFORM_INDEX_OFFSET`
  `static final int`
  `GEOMETRY_UNIFORM_INDEX_MASK`
  `static final int`
  `GEOMETRY_UNIFORM_INDEX_OFFSET`
  `static final int`
  `PAINTERS_ORDER_MASK`
  `static final int`
  `PAINTERS_ORDER_OFFSET`
  `static final int`
  `PIPELINE_INDEX_MASK`
  `static final int`
  `PIPELINE_INDEX_OFFSET`
  `static final int`
  `STENCIL_INDEX_MASK`
  `static final int`
  `STENCIL_INDEX_OFFSET`
  `static final int`
  `STEP_INDEX_MASK`
  `static final int`
  `STEP_INDEX_OFFSET`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SortKey(Draw draw, int stepIndex, int pipelineIndex, int geometryUniformIndex, int fragmentUniformIndex, int[] textures)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `compareTo(DrawPass.SortKey o)`
  `int`
  `fragmentUniformIndex()`
  `int`
  `geometryUniformIndex()`
  `int`
  `pipelineIndex()`
  `GeometryStep`
  `step()`

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

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

- ## Field Details

  - ### PAINTERS_ORDER_OFFSET

    public static final int PAINTERS_ORDER_OFFSET
    See Also:
      - Constant Field Values

  - ### PAINTERS_ORDER_MASK

    public static final int PAINTERS_ORDER_MASK
    See Also:
      - Constant Field Values

  - ### STENCIL_INDEX_OFFSET

    public static final int STENCIL_INDEX_OFFSET
    See Also:
      - Constant Field Values

  - ### STENCIL_INDEX_MASK

    public static final int STENCIL_INDEX_MASK
    See Also:
      - Constant Field Values

  - ### STEP_INDEX_OFFSET

    public static final int STEP_INDEX_OFFSET
    See Also:
      - Constant Field Values

  - ### STEP_INDEX_MASK

    public static final int STEP_INDEX_MASK
    See Also:
      - Constant Field Values

  - ### PIPELINE_INDEX_OFFSET

    public static final int PIPELINE_INDEX_OFFSET
    See Also:
      - Constant Field Values

  - ### PIPELINE_INDEX_MASK

    public static final int PIPELINE_INDEX_MASK
    See Also:
      - Constant Field Values

  - ### GEOMETRY_UNIFORM_INDEX_OFFSET

    public static final int GEOMETRY_UNIFORM_INDEX_OFFSET
    See Also:
      - Constant Field Values

  - ### GEOMETRY_UNIFORM_INDEX_MASK

    public static final int GEOMETRY_UNIFORM_INDEX_MASK
    See Also:
      - Constant Field Values

  - ### FRAGMENT_UNIFORM_INDEX_OFFSET

    public static final int FRAGMENT_UNIFORM_INDEX_OFFSET
    See Also:
      - Constant Field Values

  - ### FRAGMENT_UNIFORM_INDEX_MASK

    public static final int FRAGMENT_UNIFORM_INDEX_MASK
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### SortKey

    public SortKey(Draw draw, int stepIndex, int pipelineIndex, int geometryUniformIndex, int fragmentUniformIndex, int[] textures)

- ## Method Details

  - ### step

    public GeometryStep step()

  - ### pipelineIndex

    public int pipelineIndex()

  - ### geometryUniformIndex

    public int geometryUniformIndex()

  - ### fragmentUniformIndex

    public int fragmentUniformIndex()

  - ### compareTo

    public int compareTo(@Nonnull DrawPass.SortKey o)
    Specified by:
      `compareTo` in interface `Comparable<DrawPass.SortKey>`