Package icyllis.arc3d.granite.shading

# Interface ShaderBuilder

All Known Subinterfaces:
  `FPFragmentBuilder`, `VertexGeomBuilder`, `XPFragmentBuilder`

All Known Implementing Classes:
  `FragmentShaderBuilder`, `ShaderBuilderBase`, `VertexShaderBuilder`

public interface ShaderBuilder
Interface for all shaders builders.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `codeAppend(String str)`
  Writes the specified string to one of the shaders.
  `void`
  `codeAppendf(String format, Object... args)`
  Writes a formatted string to one of the shaders using the specified format string and arguments.
  `void`
  `codePrependf(String format, Object... args)`
  Similar to `codeAppendf(String, Object...)`, but writes at the beginning.
  `String`
  `getMangledName(String baseName)`
  Generates a mangled name for a helper function in the fragment shader.

- ## Method Details

  - ### codeAppend

    void codeAppend(String str)
    Writes the specified string to one of the shaders.

  - ### codeAppendf

    void codeAppendf(String format, Object... args)
    Writes a formatted string to one of the shaders using the specified format string and arguments.
    See Also:
      - `Formatter.format(String, Object...)`

  - ### codePrependf

    void codePrependf(String format, Object... args)
    Similar to `codeAppendf(String, Object...)`, but writes at the beginning.

  - ### getMangledName

    String getMangledName(String baseName)
    Generates a mangled name for a helper function in the fragment shader. Will give consistent results if called more than once.