MeshPhongMaterial.js 2.3 KB
Newer Older
1
/**
2
 * @author mr.doob / http://mrdoob.com/
3
 * @author alteredq / http://alteredqualia.com/
4 5
 
 * params = {
6 7 8
 * 	ambient: hex,
 * 	diffuse: hex,
 * 	specular: hex,
9 10 11 12 13 14 15 16
 *  diffuse_map: new THREE.UVMap( <Image> ),
 *  specular_map: new THREE.UVMap( <Image> ),
 *  shininess: float,
 *  alpha: float,
 *  shading: THREE.Phong,
 *  blending: THREE.AdditiveBlending,
 *  wireframe: false
 * }
17 18 19 20
 */

THREE.MeshPhongMaterial = function ( ambient, diffuse, specular, shininess, opacity ) {

21 22 23 24
	this.id = THREE.MeshPhongMaterial.value ++;
	
	this.params = this.setDefaultParams( params );
	
25 26
	this.toString = function () {

27
		return 'THREE.MeshPhongMaterial ( <br/>ambient: ' + this.params.ambient_color
28 29 30 31 32 33 34 35
				+ ', <br/>diffuse: ' + this.params.diffuse 
				+ ', <br/>specular: ' + this.params.specular 
				+ ', <br/>shininess: ' + this.params.shininess 
				+ ', <br/>alpha: ' + this.params.alpha
				+ ', <br/>shading: ' + this.params.shading
				+ ', <br/>wireframe: ' + this.params.wireframe
				+ ', <br/>id: ' + this.params.id        
				+ ')';
36 37 38 39

	};

};
40 41

THREE.MeshPhongMaterial.setDefaultParams = function ( override ) {
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
	
	var params = {
		ambient: new THREE.Color( 0x050505 ),
		diffuse: new THREE.Color( 0xeeeeee ),
		specular: new THREE.Color( 0x111111 ),
		diffuse_map: null,
		specular_map: null,
		shininess: 30,
		alpha: 1.0,
		shading: THREE.Gourad,
		blending: THREE.AdditiveBlending,
		wireframe: false
	};
		
	if ( override != undefined ) {
		
		if( override.ambient != undefined ) params.ambient = new THREE.Color( override.ambient );
		if( override.diffuse != undefined ) params.diffuse = new THREE.Color( override.diffuse );
		if( override.specular != undefined ) params.specular = new THREE.Color( override.specular );
		
		if( override.diffuse_map != undefined ) params.diffuse_map = override.diffuse_map;
		if( override.specular_map != undefined ) params.specular_map = override.specular_map;
		
		if( override.shininess != undefined ) params.shininess = override.shininess;
		
		if( override.alpha != undefined ) params.alpha = override.alpha;
		if( override.shading != undefined ) params.shading = override.shading;
		if( override.blending != undefined ) params.blending = override.blending;
		if( override.wireframe != undefined ) params.wireframe = override.wireframe;
		
	}
	
	return params;
	
76 77 78
};

THREE.MeshPhongMaterial = { value: 0 };