MeshPhongMaterial.js 2.5 KB
Newer Older
1
/**
2
 * @author mr.doob / http://mrdoob.com/
3
 * @author alteredq / http://alteredqualia.com/
M
Mr.doob 已提交
4 5 6 7 8 9
 *
 * parameters = {
 *  ambient: <hex>,
 *  color: <hex>,
 *  specular: <hex>,
 *  map: new THREE.UVMap( <Image> ),
10
 *  specular_map: new THREE.UVMap( <Image> ),
M
Mr.doob 已提交
11 12 13
 *  shininess: <float>,
 *  opacity: <float>,
 *  shading: THREE.PhongShading,
14
 *  blending: THREE.AdditiveBlending,
M
Mr.doob 已提交
15 16
 *  wireframe: <boolean>,
 *  wireframe_linewidth: <float>
17
 * }
18 19
 */

M
Mr.doob 已提交
20
THREE.MeshPhongMaterial = function ( parameters ) {
21

22
	this.id = THREE.MeshPhongMaterialCounter.value ++;
23

24
	this.color = new THREE.Color( 0xff0000 );
M
Mr.doob 已提交
25 26 27 28 29 30 31 32 33 34
	this.map = null;
	this.ambient = new THREE.Color( 0x050505 );
	this.specular = new THREE.Color( 0x111111 );
	this.specular_map = null;
	this.shininess = 30;
	this.opacity = 1;
	this.shading = THREE.GouraudShading;
	this.blending = THREE.NormalBlending;
	this.wireframe = false;
	this.wireframe_linewidth = 1;
35

M
Mr.doob 已提交
36
	if ( parameters ) {
37

M
Mr.doob 已提交
38 39 40 41 42 43 44 45 46 47 48
		if ( parameters.color !== undefined ) this.color = new THREE.Color( parameters.color );
		if ( parameters.map !== undefined ) this.map = parameters.map;
		if ( parameters.ambient !== undefined ) this.ambient = new THREE.Color( parameters.ambient );
		if ( parameters.specular !== undefined ) this.specular_color = new THREE.Color( parameters.specular );
		if ( parameters.specular_map !== undefined ) this.specular_map = parameters.specular_map;
		if ( parameters.shininess !== undefined ) this.shininess = parameters.shininess;
		if ( parameters.opacity !== undefined ) this.opacity = parameters.opacity;
		if ( parameters.shading !== undefined ) this.shading = parameters.shading;
		if ( parameters.blending !== undefined ) this.blending = parameters.blending;
		if ( parameters.wireframe !== undefined ) this.wireframe = parameters.wireframe;
		if ( parameters.wireframe_linewidth !== undefined ) this.wireframe_linewidth = parameters.wireframe_linewidth;
49

50
	}
M
Mr.doob 已提交
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

	this.toString = function () {

		return 'THREE.MeshPhongMaterial (<br/>' +
			'id: ' + this.id + '<br/>' +
			'color: ' + this.color + '<br/>' +
			'map: ' + this.map + '<br/>' +
			'ambient: ' + this.ambient + '<br/>' +
			'specular: ' + this.specular + '<br/>' +
			'specular_map: ' + this.specular_map + '<br/>' +
			'shininess: ' + this.shininess + '<br/>' +
			'alpha: ' + this.opacity + '<br/>' +
			'shading: ' + this.shading + '<br/>' +
			'wireframe: ' + this.wireframe + '<br/>' +
			'wireframe_linewidth: ' + this.wireframe_linewidth + '<br/>' +
			+ ')';

	};

70 71
};

72
THREE.MeshPhongMaterialCounter = { value: 0 };