function ShaderFunction(signature) {
  this.signature = signature;
  this.body = [];
}
A utility for dynamically-generating a GLSL function

@alias ShaderFunction
@constructor

@see {@link ShaderBuilder}
@param {string} signature The full signature of the function as it will appear in the shader. Do not include the curly braces.
@example
// generate the following function
//
// void assignVaryings(vec3 position)
// {
//    v_positionEC = (czm_modelView * vec4(a_position, 1.0)).xyz;
//    v_texCoord = a_texCoord;
// }
const signature = "void assignVaryings(vec3 position)";
const func = new ShaderFunction(signature);
func.addLine("v_positionEC = (czm_modelView * vec4(a_position, 1.0)).xyz;");
func.addLine("v_texCoord = a_texCoord;");
const generatedLines = func.generateGlslLines();

@private