MeshBasicMaterial.js 3.2 KB
Newer Older
N
Nicolas Garcia Belmonte 已提交
1 2
/**
 * @author mr.doob / http://mrdoob.com/
3
 * @author alteredq / http://alteredqualia.com/
M
Mr.doob 已提交
4 5 6
 *
 * parameters = {
 *  color: <hex>,
7
 *  map: new THREE.Texture( <Image> ),
8 9 10

 *  light_map: new THREE.Texture( <Image> ),

11
 *  env_map: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ),
12
 *  combine: THREE.Multiply,
13
 *  reflectivity: <float>,
14 15
 *  refraction_ratio: <float>,
 
M
Mr.doob 已提交
16
 *  opacity: <float>,
17
 *  shading: THREE.SmoothShading,
M
Mr.doob 已提交
18 19 20
 *  blending: THREE.NormalBlending,
 *  wireframe: <boolean>,
 *  wireframe_linewidth: <float>
21
 * }
N
Nicolas Garcia Belmonte 已提交
22 23
 */

M
Mr.doob 已提交
24
THREE.MeshBasicMaterial = function ( parameters ) {
N
Nicolas Garcia Belmonte 已提交
25

M
Mr.doob 已提交
26 27
	this.id = THREE.MeshBasicMaterialCounter.value ++;

28
	this.color = new THREE.Color( 0xffffff );
M
Mr.doob 已提交
29
	this.map = null;
30

31 32
	this.light_map = null;

33
	this.env_map = null;
34
	this.combine = THREE.MultiplyOperation;
35
	this.reflectivity = 1;
36
	this.refraction_ratio = 0.98;
37

38 39
	this.fog = true;

M
Mr.doob 已提交
40
	this.opacity = 1;
41
	this.shading = THREE.SmoothShading;
M
Mr.doob 已提交
42
	this.blending = THREE.NormalBlending;
43

M
Mr.doob 已提交
44 45
	this.wireframe = false;
	this.wireframe_linewidth = 1;
46 47
	this.wireframe_linecap = 'round';
	this.wireframe_linejoin = 'round';
M
Mr.doob 已提交
48 49 50 51 52

	if ( parameters ) {

		if ( parameters.color !== undefined ) this.color.setHex( parameters.color );
		if ( parameters.map !== undefined ) this.map = parameters.map;
53

54 55
		if ( parameters.light_map !== undefined ) this.light_map = parameters.light_map;

56
		if ( parameters.env_map !== undefined ) this.env_map = parameters.env_map;
57
		if ( parameters.combine !== undefined ) this.combine = parameters.combine;
58
		if ( parameters.reflectivity !== undefined ) this.reflectivity  = parameters.reflectivity;
59
		if ( parameters.refraction_ratio !== undefined ) this.refraction_ratio  = parameters.refraction_ratio;
60

61 62
		if ( parameters.fog !== undefined ) this.fog  = parameters.fog;

M
Mr.doob 已提交
63
		if ( parameters.opacity !== undefined ) this.opacity  = parameters.opacity;
64
		if ( parameters.shading !== undefined ) this.shading = parameters.shading;
M
Mr.doob 已提交
65
		if ( parameters.blending !== undefined ) this.blending = parameters.blending;
66

M
Mr.doob 已提交
67 68
		if ( parameters.wireframe !== undefined ) this.wireframe = parameters.wireframe;
		if ( parameters.wireframe_linewidth !== undefined ) this.wireframe_linewidth = parameters.wireframe_linewidth;
69 70
		if ( parameters.wireframe_linecap !== undefined ) this.wireframe_linecap = parameters.wireframe_linecap;
		if ( parameters.wireframe_linejoin !== undefined ) this.wireframe_linejoin = parameters.wireframe_linejoin;
M
Mr.doob 已提交
71 72

	}
N
Nicolas Garcia Belmonte 已提交
73

M
Mr.doob 已提交
74 75 76 77 78
};

THREE.MeshBasicMaterial.prototype = {

	toString: function () {
N
Nicolas Garcia Belmonte 已提交
79

M
Mr.doob 已提交
80 81 82 83
		return 'THREE.MeshBasicMaterial (<br/>' +
			'id: ' + this.id + '<br/>' +
			'color: ' + this.color + '<br/>' +
			'map: ' + this.map + '<br/>' +
84

85 86
			'light_map: ' + this.light_map + '<br/>' +

87
			'env_map: ' + this.env_map + '<br/>' +
88
			'combine: ' + this.combine + '<br/>' +
89
			'reflectivity: ' + this.reflectivity + '<br/>' +
90
			'refraction_ratio: ' + this.refraction_ratio + '<br/>' +
91

M
Mr.doob 已提交
92 93
			'opacity: ' + this.opacity + '<br/>' +
			'blending: ' + this.blending + '<br/>' +
94

M
Mr.doob 已提交
95 96
			'wireframe: ' + this.wireframe + '<br/>' +
			'wireframe_linewidth: ' + this.wireframe_linewidth +'<br/>' +
97 98
			'wireframe_linecap: ' + this.wireframe_linecap +'<br/>' +
			'wireframe_linejoin: ' + this.wireframe_linejoin +'<br/>' +
M
Mr.doob 已提交
99
			')';
N
Nicolas Garcia Belmonte 已提交
100

M
Mr.doob 已提交
101
	}
N
Nicolas Garcia Belmonte 已提交
102

M
Mr.doob 已提交
103
};
M
Mr.doob 已提交
104 105

THREE.MeshBasicMaterialCounter = { value: 0 };