Package icyllis.arc3d.granite

# Class GraphicsPipelineDesc

java.lang.Object
icyllis.arc3d.engine.PipelineDesc
icyllis.arc3d.granite.GraphicsPipelineDesc

public final class GraphicsPipelineDesc extends PipelineDesc
Descriptor of a graphics pipeline in Granite Renderer.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class icyllis.arc3d.engine.PipelineDesc

  `PipelineDesc.GraphicsPipelineInfo, PipelineDesc.SamplerInfo, PipelineDesc.UniformBlockInfo`

- ## Field Summary

  ### Fields inherited from class icyllis.arc3d.engine.PipelineDesc

  `DYNAMIC_COLOR_BLEND_STATE, NO_DYNAMIC_STATE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GraphicsPipelineDesc()`
  `GraphicsPipelineDesc(GeometryStep geometryStep, Key paintParamsKey, BlendMode finalBlendMode, boolean useFastSolidColor)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `GraphicsPipelineDesc`
  `copy()`
  Makes a deep copy of this desc, it must be immutable before return.
  `PipelineDesc.GraphicsPipelineInfo`
  `createGraphicsPipelineInfo(Device device)`
  Generates all info used to create graphics pipeline.
  `boolean`
  `equals(Object o)`
  `GeometryStep`
  `geomStep()`
  `BlendInfo`
  `getBlendInfo()`
  `DepthStencilSettings`
  `getDepthStencilSettings()`
  `BlendMode`
  `getFinalBlendMode()`
  `Key`
  `getPaintParamsKey()`
  `byte`
  `getPrimitiveType()`
  `FragmentNode[]`
  `getRootNodes(ShaderCodeSource codeSource, StringBuilder label)`
  `int`
  `hashCode()`
  `boolean`
  `isDepthOnlyPass()`
  `boolean`
  `mayRequireLocalCoords()`
  `GraphicsPipelineDesc`
  `set(GeometryStep geometryStep, KeyBuilder paintParamsKey, BlendMode finalBlendMode, boolean useFastSolidColor)`
  `boolean`
  `usesFastSolidColor()`

  ### Methods inherited from class icyllis.arc3d.engine.PipelineDesc

  `getDynamicStates`

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

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

- ## Constructor Details

  - ### GraphicsPipelineDesc

    public GraphicsPipelineDesc()

  - ### GraphicsPipelineDesc

    public GraphicsPipelineDesc(GeometryStep geometryStep, Key paintParamsKey, @Nullable BlendMode finalBlendMode, boolean useFastSolidColor)

- ## Method Details

  - ### set

    public GraphicsPipelineDesc set(GeometryStep geometryStep, KeyBuilder paintParamsKey, @Nullable BlendMode finalBlendMode, boolean useFastSolidColor)

  - ### geomStep

    public GeometryStep geomStep()

  - ### getPaintParamsKey

    public Key getPaintParamsKey()

  - ### getFinalBlendMode

    @Nullable public BlendMode getFinalBlendMode()

  - ### usesFastSolidColor

    public boolean usesFastSolidColor()

  - ### mayRequireLocalCoords

    public boolean mayRequireLocalCoords()

  - ### getRootNodes

    public FragmentNode[] getRootNodes(ShaderCodeSource codeSource, StringBuilder label)

  - ### isDepthOnlyPass

    public boolean isDepthOnlyPass()

  - ### createGraphicsPipelineInfo

    public PipelineDesc.GraphicsPipelineInfo createGraphicsPipelineInfo(Device device)
    Description copied from class: `PipelineDesc`
    Generates all info used to create graphics pipeline.
    Overrides:
      `createGraphicsPipelineInfo` in class `PipelineDesc`

  - ### getPrimitiveType

    public byte getPrimitiveType()
    Overrides:
      `getPrimitiveType` in class `PipelineDesc`

  - ### getBlendInfo

    public BlendInfo getBlendInfo()
    Overrides:
      `getBlendInfo` in class `PipelineDesc`

  - ### getDepthStencilSettings

    public DepthStencilSettings getDepthStencilSettings()
    Overrides:
      `getDepthStencilSettings` in class `PipelineDesc`

  - ### copy

    public GraphicsPipelineDesc copy()
    Description copied from class: `PipelineDesc`
    Makes a deep copy of this desc, it must be immutable before return. No need to make its fields visible to all threads. If this desc is already immutable then subclass may return this.

    The `Object.hashCode()` and `Object.equals(Object)` of this and return value must be consistent.

    Specified by:
      `copy` in class `PipelineDesc`

  - ### hashCode

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

  - ### equals

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