Package icyllis.arc3d.granite.shading

# Class VertexShaderBuilder

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

All Implemented Interfaces:
  `ShaderBuilder`, `VertexGeomBuilder`

public class VertexShaderBuilder extends ShaderBuilderBase implements VertexGeomBuilder
This class implements the various vertex builder interfaces.

- ## Field Summary

  ### 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
  `VertexShaderBuilder(GraphicsPipelineBuilder pipelineBuilder)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `emitAttributes(GeometryStep geomProc)`
  Emits per-vertex and per-instance attributes to vertex shader inputs.
  `void`
  `emitNormalizedPosition(ShaderVar devicePos)`
  Emits world position and transforms it into the clip space.
  `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`

- ## Constructor Details

  - ### VertexShaderBuilder

    public VertexShaderBuilder(GraphicsPipelineBuilder pipelineBuilder)

- ## Method Details

  - ### onFinish

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

  - ### emitAttributes

    public void emitAttributes(GeometryStep geomProc)
    Description copied from interface: `VertexGeomBuilder`
    Emits per-vertex and per-instance attributes to vertex shader inputs.
    Specified by:
      `emitAttributes` in interface `VertexGeomBuilder`
    Parameters:
      `geomProc` - the geometry processor

  - ### emitNormalizedPosition

    public void emitNormalizedPosition(ShaderVar devicePos)
    Description copied from interface: `VertexGeomBuilder`
    Emits world position and transforms it into the clip space.
    Specified by:
      `emitNormalizedPosition` in interface `VertexGeomBuilder`
    Parameters:
      `devicePos` - the world position