MeshBasicMaterial.js 2.9 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
 *  opacity: <float>,
8
 *  map: new THREE.Texture( <Image> ),
9 10 11

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

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

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

A
alteredq 已提交
31
	this.id = THREE.MaterialCounter.value ++;
M
Mr.doob 已提交
32

33
	this.color = new THREE.Color( 0xffffff );
34
	this.opacity = 1.0;
M
Mr.doob 已提交
35
	this.map = null;
36

37 38
	this.light_map = null;

39
	this.env_map = null;
40
	this.combine = THREE.MultiplyOperation;
41
	this.reflectivity = 1.0;
42
	this.refraction_ratio = 0.98;
43

44
	this.fog = true; // implemented just in WebGLRenderer2
45

46
	this.shading = THREE.SmoothShading;
M
Mr.doob 已提交
47
	this.blending = THREE.NormalBlending;
48
	this.depth_test = true;
49

M
Mr.doob 已提交
50
	this.wireframe = false;
51
	this.wireframe_linewidth = 1.0;
52 53
	this.wireframe_linecap = 'round'; // implemented just in CanvasRenderer
	this.wireframe_linejoin = 'round'; // implemented just in CanvasRenderer
M
Mr.doob 已提交
54

55
	this.vertex_colors = false;
56
	this.skinning = false;
57

M
Mr.doob 已提交
58 59 60
	if ( parameters ) {

		if ( parameters.color !== undefined ) this.color.setHex( parameters.color );
61
		if ( parameters.opacity !== undefined ) this.opacity  = parameters.opacity;
M
Mr.doob 已提交
62
		if ( parameters.map !== undefined ) this.map = parameters.map;
63

64 65
		if ( parameters.light_map !== undefined ) this.light_map = parameters.light_map;

66
		if ( parameters.env_map !== undefined ) this.env_map = parameters.env_map;
67
		if ( parameters.combine !== undefined ) this.combine = parameters.combine;
68
		if ( parameters.reflectivity !== undefined ) this.reflectivity  = parameters.reflectivity;
69
		if ( parameters.refraction_ratio !== undefined ) this.refraction_ratio  = parameters.refraction_ratio;
70

71 72
		if ( parameters.fog !== undefined ) this.fog  = parameters.fog;

73
		if ( parameters.shading !== undefined ) this.shading = parameters.shading;
M
Mr.doob 已提交
74
		if ( parameters.blending !== undefined ) this.blending = parameters.blending;
75
		if ( parameters.depth_test !== undefined ) this.depth_test = parameters.depth_test;
76

M
Mr.doob 已提交
77 78
		if ( parameters.wireframe !== undefined ) this.wireframe = parameters.wireframe;
		if ( parameters.wireframe_linewidth !== undefined ) this.wireframe_linewidth = parameters.wireframe_linewidth;
79 80
		if ( parameters.wireframe_linecap !== undefined ) this.wireframe_linecap = parameters.wireframe_linecap;
		if ( parameters.wireframe_linejoin !== undefined ) this.wireframe_linejoin = parameters.wireframe_linejoin;
81

82
		if ( parameters.vertex_colors !== undefined ) this.vertex_colors = parameters.vertex_colors;
83
		if ( parameters.skinning !== undefined ) this.skinning = parameters.skinning;
M
Mr.doob 已提交
84 85

	}
N
Nicolas Garcia Belmonte 已提交
86

M
Mr.doob 已提交
87
};