@Override
    public void write(JmeExporter ex) throws IOException {
        OutputCapsule oc = ex.getCapsule(this);
        oc.write(name, "name", null);

        oc.write(shaderNames.get(Shader.ShaderType.Vertex), "vertName", null);
        oc.write(shaderNames.get(Shader.ShaderType.Fragment), "fragName", null);
        oc.write(shaderNames.get(Shader.ShaderType.Geometry), "geomName", null);
        oc.write(shaderNames.get(Shader.ShaderType.TessellationControl), "tsctrlName", null);
        oc.write(shaderNames.get(Shader.ShaderType.TessellationEvaluation), "tsevalName", null);
        oc.write(shaderLanguages.get(Shader.ShaderType.Vertex), "vertLanguage", null);
        oc.write(shaderLanguages.get(Shader.ShaderType.Fragment), "fragLanguage", null);
        oc.write(shaderLanguages.get(Shader.ShaderType.Geometry), "geomLanguage", null);
        oc.write(shaderLanguages.get(Shader.ShaderType.TessellationControl), "tsctrlLanguage", null);
        oc.write(shaderLanguages.get(Shader.ShaderType.TessellationEvaluation), "tsevalLanguage", null);

        oc.write(shaderPrologue, "shaderPrologue", null);
        oc.write(lightMode, "lightMode", LightMode.Disable);
        oc.write(shadowMode, "shadowMode", ShadowMode.Disable);
        oc.write(renderState, "renderState", null);
        oc.write(noRender, "noRender", false);
        oc.write(usesNodes, "usesNodes", false);
        oc.writeSavableArrayList((ArrayList)shaderNodes,"shaderNodes", null);
        oc.write(shaderGenerationInfo, "shaderGenerationInfo", null);

        // TODO: Finish this when Map<String, String> export is available
//        oc.write(defineParams, "defineParams", null);
        // TODO: Finish this when List<Enum> export is available
//        oc.write(worldBinds, "worldBinds", null);
    }
Returns a list of world parameters that are used by this
technique definition.

@return The list of world parameters
jme3-core/src/main/java/com/jme3/material/TechniqueDef.java