//ADDITIVE SHADER
    THREE.AdditiveShader = {
        uniforms: {
            tDiffuse: { type: "t", value: null },
            tAdd: { type: "t", value: null },
            fCoeff: { type: "f", value: 1.0 } // 0.5
        },

        vertexShader: [
            "varying vec2 vUv;",

            "void main() {",

                "vUv = uv;",
                "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",

            "}"
        ].join("\n"),

        fragmentShader: [
            "uniform sampler2D tDiffuse;",
            "uniform sampler2D tAdd;",
            "uniform float fCoeff;",

            "varying vec2 vUv;",

            //"vec3 emptyColor = vec3 (0.0, 0.0, 0.0);",

            "void main() {",

                "vec4 texel = texture2D (tDiffuse, vUv);",
                "vec4 add = texture2D (tAdd, vUv);",

                            //"if (texel.a < 0.99){",
                            // "gl_FragColor = vec4(1.0,0.0,0.0,1.0);",
                            // "return;",
                            // "}",
                /*"if (add.a == 0.0){",
                "gl_FragColor = vec4(1.0,0.0,0.0,1.0);",
                "return;",
                "}",*/
                "gl_FragColor = texel + add * fCoeff;",
                          //"gl_FragColor = texel;",
                            //"gl_FragColor = add;",

            "}"
        ].join("\n")
    };
