Package icyllis.arc3d.granite.shading

# Class FragmentShaderBuilder

java.lang.Object
icyllis.arc3d.granite.shading.ShaderBuilderBase
icyllis.arc3d.granite.shading.FragmentShaderBuilder

All Implemented Interfaces:
  `FPFragmentBuilder`, `ShaderBuilder`, `XPFragmentBuilder`

public class FragmentShaderBuilder extends ShaderBuilderBase implements FPFragmentBuilder, XPFragmentBuilder
This class implements the various fragment builder interfaces.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `MAIN_DRAW_BUFFER_INDEX`
  `static final int`
  `PRIMARY_COLOR_OUTPUT_INDEX`
  `static final String`
  `PRIMARY_COLOR_OUTPUT_NAME`
  `static final int`
  `SECONDARY_COLOR_OUTPUT_INDEX`
  `static final String`
  `SECONDARY_COLOR_OUTPUT_NAME`

  ### Fields inherited from class icyllis.arc3d.granite.shading.ShaderBuilderBase

  `CODE, DEFINITIONS, FUNCTIONS, INPUTS, LAYOUT_QUALIFIERS, mCodeIndex, mPipelineBuilder, mShaderStrings, OUTPUTS, PREALLOC, UNIFORMS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FragmentShaderBuilder(GraphicsPipelineBuilder pipelineBuilder)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `enableSecondaryOutput()`
  `String`
  `getSecondaryColorOutputName()`
  `protected void`
  `onFinish()`

  ### Methods inherited from class icyllis.arc3d.granite.shading.ShaderBuilderBase

  `addExtension, code, codeAppend, codeAppendf, codePrependf, declAppend, definitions, deleteStage, finish, functions, getCount, getExtensions, getMangledName, getStrings, inputs, layoutQualifiers, nextStage, outputs, toString, toUTF8, uniforms`

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

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

  ### Methods inherited from interface icyllis.arc3d.granite.shading.ShaderBuilder

  `codeAppend, codeAppendf, codePrependf, getMangledName`

- ## Field Details

  - ### MAIN_DRAW_BUFFER_INDEX

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

  - ### PRIMARY_COLOR_OUTPUT_INDEX

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

  - ### SECONDARY_COLOR_OUTPUT_INDEX

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

  - ### PRIMARY_COLOR_OUTPUT_NAME

    public static final String PRIMARY_COLOR_OUTPUT_NAME
    See Also:
      - Constant Field Values

  - ### SECONDARY_COLOR_OUTPUT_NAME

    public static final String SECONDARY_COLOR_OUTPUT_NAME
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### FragmentShaderBuilder

    public FragmentShaderBuilder(GraphicsPipelineBuilder pipelineBuilder)

- ## Method Details

  - ### onFinish

    protected void onFinish()
    Specified by:
      `onFinish` in class `ShaderBuilderBase`

  - ### enableSecondaryOutput

    public void enableSecondaryOutput()

  - ### getSecondaryColorOutputName

    @Nullable public String getSecondaryColorOutputName()