function ShadowMaterial( parameters ) {

		ShaderMaterial.call( this, {
			uniforms: UniformsUtils.merge( [
				UniformsLib.lights,
				{
					opacity: { value: 1.0 }
				}
			] ),
			vertexShader: ShaderChunk[ 'shadow_vert' ],
			fragmentShader: ShaderChunk[ 'shadow_frag' ]
		} );

		this.lights = true;
		this.transparent = true;

		Object.defineProperties( this, {
			opacity: {
				enumerable: true,
				get: function () {
					return this.uniforms.opacity.value;
				},
				set: function ( value ) {
					this.uniforms.opacity.value = value;
				}
			}
		} );

		this.setValues( parameters );

	}
@author mrdoob / http://mrdoob.com/

parameters = {
 opacity: <float>
}