/** * @author mr.doob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ * * parameters = { * color: , * ambient: , * specular: , * shininess: , * opacity: , * * map: new THREE.Texture( ), * * lightMap: new THREE.Texture( ), * * envMap: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ), * combine: THREE.Multiply, * reflectivity: , * refractionRatio: , * * shading: THREE.SmoothShading, * blending: THREE.NormalBlending, * depthTest: , * * wireframe: , * wireframeLinewidth: , * * vertexColors: false / THREE.VertexColors / THREE.FaceColors, * skinning: , * * fog: * } */ THREE.MeshPhongMaterial = function ( parameters ) { THREE.Material.call( this, parameters ); parameters = parameters || {}; this.color = parameters.color !== undefined ? new THREE.Color( parameters.color ) : new THREE.Color( 0xffffff ); this.ambient = parameters.ambient !== undefined ? new THREE.Color( parameters.ambient ) : new THREE.Color( 0x050505 ); this.specular = parameters.specular !== undefined ? new THREE.Color( parameters.specular ) : new THREE.Color( 0x111111 ); this.shininess = parameters.shininess !== undefined ? parameters.shininess : 30; this.metal = parameters.metal !== undefined ? parameters.metal : false; this.perPixel = parameters.perPixel !== undefined ? parameters.perPixel : false; this.map = parameters.map !== undefined ? parameters.map : null; this.lightMap = parameters.lightMap !== undefined ? parameters.lightMap : null; this.envMap = parameters.envMap !== undefined ? parameters.envMap : null; this.combine = parameters.combine !== undefined ? parameters.combine : THREE.MultiplyOperation; this.reflectivity = parameters.reflectivity !== undefined ? parameters.reflectivity : 1; this.refractionRatio = parameters.refractionRatio !== undefined ? parameters.refractionRatio : 0.98; this.fog = parameters.fog !== undefined ? parameters.fog : true; this.shading = parameters.shading !== undefined ? parameters.shading : THREE.SmoothShading; this.wireframe = parameters.wireframe !== undefined ? parameters.wireframe : false; this.wireframeLinewidth = parameters.wireframeLinewidth !== undefined ? parameters.wireframeLinewidth : 1; this.wireframeLinecap = parameters.wireframeLinecap !== undefined ? parameters.wireframeLinecap : 'round'; this.wireframeLinejoin = parameters.wireframeLinejoin !== undefined ? parameters.wireframeLinejoin : 'round'; this.vertexColors = parameters.vertexColors !== undefined ? parameters.vertexColors : false; this.skinning = parameters.skinning !== undefined ? parameters.skinning : false; this.morphTargets = parameters.morphTargets !== undefined ? parameters.morphTargets : false; }; THREE.MeshPhongMaterial.prototype = new THREE.Material(); THREE.MeshPhongMaterial.prototype.constructor = THREE.MeshPhongMaterial;