public void addUniformBinding(UniformBinding binding){
        String uniformName = "g_" + binding.name();
        Uniform uniform = uniforms.get(uniformName);
        if (uniform == null) {
            uniform = new Uniform();
            uniform.name = uniformName;
            uniform.binding = binding;
            uniforms.put(uniformName, uniform);
            boundUniforms.add(uniform);
        }
    }
Adds source code to a certain pipeline.

@param type The pipeline to control
@param name a name for the new shader object
@param source The shader source code (in GLSL).
@param defines Preprocessor defines (placed at the beginning of the shader)
@param language The shader source language, currently accepted is GLSL###
where ### is the version, e.g. GLSL100 = GLSL 1.0, GLSL330 = GLSL 3.3, etc.
jme3-core/src/main/java/com/jme3/shader/Shader.java