constructor(parameters) {
			super();
			this.type = 'MeshPhongMaterial';
			this.color = new Color(0xffffff); // diffuse

			this.specular = new Color(0x111111);
			this.shininess = 30;
			this.map = null;
			this.lightMap = null;
			this.lightMapIntensity = 1.0;
			this.aoMap = null;
			this.aoMapIntensity = 1.0;
			this.emissive = new Color(0x000000);
			this.emissiveIntensity = 1.0;
			this.emissiveMap = null;
			this.bumpMap = null;
			this.bumpScale = 1;
			this.normalMap = null;
			this.normalMapType = TangentSpaceNormalMap;
			this.normalScale = new Vector2(1, 1);
			this.displacementMap = null;
			this.displacementScale = 1;
			this.displacementBias = 0;
			this.specularMap = null;
			this.alphaMap = null;
			this.envMap = null;
			this.combine = MultiplyOperation;
			this.reflectivity = 1;
			this.refractionRatio = 0.98;
			this.wireframe = false;
			this.wireframeLinewidth = 1;
			this.wireframeLinecap = 'round';
			this.wireframeLinejoin = 'round';
			this.morphTargets = false;
			this.morphNormals = false;
			this.flatShading = false;
			this.setValues(parameters);
		}
parameters = {
	color: <hex>,
	specular: <hex>,
	shininess: <float>,
	opacity: <float>,

	map: new THREE.Texture( <Image> ),

	lightMap: new THREE.Texture( <Image> ),
	lightMapIntensity: <float>

	aoMap: new THREE.Texture( <Image> ),
	aoMapIntensity: <float>

	emissive: <hex>,
	emissiveIntensity: <float>
	emissiveMap: new THREE.Texture( <Image> ),

	bumpMap: new THREE.Texture( <Image> ),
	bumpScale: <float>,

	normalMap: new THREE.Texture( <Image> ),
	normalMapType: THREE.TangentSpaceNormalMap,
	normalScale: <Vector2>,

	displacementMap: new THREE.Texture( <Image> ),
	displacementScale: <float>,
	displacementBias: <float>,

	specularMap: new THREE.Texture( <Image> ),

	alphaMap: new THREE.Texture( <Image> ),

	envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ),
	combine: THREE.MultiplyOperation,
	reflectivity: <float>,
	refractionRatio: <float>,

	wireframe: <boolean>,
	wireframeLinewidth: <float>,

	morphTargets: <bool>,
	morphNormals: <bool>,

	flatShading: <bool>
}