SpotLight.html 5.7 KB
Newer Older
1 2 3
<!DOCTYPE html>
<html lang="en">
	<head>
4
		<meta charset="utf-8" />
5 6 7 8 9
		<script src="../../list.js"></script>
		<script src="../../page.js"></script>
		<link type="text/css" rel="stylesheet" href="../../page.css" />
	</head>
	<body>
C
cjshannon 已提交
10
		[page:Object3D] &rarr; [page:Light] &rarr;
11 12 13 14 15 16 17 18 19 20

		<h1>[name]</h1>

		<div class="desc">A point light that can cast shadow in one direction.</div>
		
		<div class="desc">Affects objects using [page:MeshLambertMaterial] or [page:MeshPhongMaterial].</div>


		<h2>Example</h2>

G
Greg Tatum 已提交
21 22
		<code>
		// white spotlight shining from the side, casting shadow
23

G
Greg Tatum 已提交
24 25
		var spotLight = new THREE.SpotLight( 0xffffff );
		spotLight.position.set( 100, 1000, 100 );
26

G
Greg Tatum 已提交
27
		spotLight.castShadow = true;
28

G
Greg Tatum 已提交
29 30
		spotLight.shadowMapWidth = 1024;
		spotLight.shadowMapHeight = 1024;
31

G
Greg Tatum 已提交
32 33 34
		spotLight.shadowCameraNear = 500;
		spotLight.shadowCameraFar = 4000;
		spotLight.shadowCameraFov = 30;
35

G
Greg Tatum 已提交
36 37 38 39 40 41 42 43 44 45
		scene.add( spotLight );
		</code>

		<div>
		[example:webgl_materials_bumpmap materials / bumpmap]<br/>
		[example:webgl_shading_physical shading / physical]<br/>
		[example:webgl_shadowmap shadowmap]<br/>
		[example:webgl_shadowmap_viewer shadowmap / performance]<br/>
		[example:webgl_shadowmap_viewer shadowmap / viewer]
		</div>
46 47 48 49


		<h2>Constructor</h2>

C
cjshannon 已提交
50

G
Greg Tatum 已提交
51
		<h3>[name]([page:Integer hex], [page:Float intensity], [page:Float distance], [page:Radians angle], [page:Float exponent], [page:Float decay])</h3>
C
cjshannon 已提交
52
		<div>
53 54
		[page:Integer hex] — Numeric value of the RGB component of the color. <br />
		[page:Float intensity] — Numeric value of the light's strength/intensity. <br />
G
Greg Tatum 已提交
55 56 57 58
		[page:Float distance] -- Maximum distance from origin where light will shine whose intensity is attenuated linearly based on distance from origin. <br />
		[page:Radians angle] -- Maximum angle of light dispersion from its direction whose upper bound is Math.PI/2.<br />
		[page:Float exponent] -- Rapidity of the falloff of light from its target direction.<br />
		[page:Float decay] -- The amount the light dims along the distance of the light.
C
cjshannon 已提交
59
		</div>
60 61 62

		<h2>Properties</h2>

63
		<h3>[property:Object3D target]</h3>
64 65 66 67 68
		<div>
			Spotlight focus points at target.position.<br />
			Default position — *(0,0,0)*.
		</div>
	
69
		<h3>[property:Float intensity]</h3>
70 71 72 73 74
		<div>
			Light's intensity.<br />
			Default — *1.0*.
		</div>
	
75
		<h3>[property:Float distance]</h3>
76 77 78 79 80
		<div>
			If non-zero, light will attenuate linearly from maximum intensity at light *position* down to zero at *distance*.<br />
			Default — *0.0*.
		</div>
	
81
		<h3>[property:Float angle]</h3>
82
		<div>
83 84
			Maximum extent of the spotlight, in radians, from its direction. Should be no more than *Math.PI/2*.<br />
			Default — *Math.PI/3*.
85 86
		</div>
	
87
		<h3>[property:Float exponent]</h3>
88
		<div>
G
Greg Tatum 已提交
89 90
			Rapidity of the falloff of light from its target direction. A lower value spreads out the light, while a higher
			focuses it towards the center.<br />
91 92
			Default — *10.0*.
		</div>
G
Greg Tatum 已提交
93 94 95 96 97 98
		
		<h3>[property:Float decay]</h3>
		<div>
			The amount the light dims along the distance of the light<br />
			Default — *1*.
		</div>
99
	
100
		<h3>[property:Boolean castShadow]</h3>
101 102 103 104 105
		<div>
			If set to *true* light will cast dynamic shadows. *Warning*: This is expensive and requires tweaking to get shadows looking right.<br />
			Default — *false*.
		</div>
		
106
		<h3>[property:Boolean onlyShadow]</h3>
107 108 109 110 111
		<div>
			If set to *true* light will only cast shadow but not contribute any lighting (as if *intensity* was 0 but cheaper to compute).<br />
			Default — *false*.
		</div>
		
112
		<h3>[property:Float shadowCameraNear]</h3>
113 114 115 116 117
		<div>
			Perspective shadow camera frustum <em>near</em> parameter.<br />
			Default — *50*.
		</div>

118
		<h3>[property:Float shadowCameraFar]</h3>
119 120 121 122 123
		<div>
			Perspective shadow camera frustum <em>far</em> parameter.<br />
			Default — *5000*.
		</div>

124
		<h3>[property:Float shadowCameraFov]</h3>
125 126 127 128 129
		<div>
			Perspective shadow camera frustum <em>field of view</em> parameter.<br />
			Default — *50*.
		</div>
		
130
		<h3>[property:Boolean shadowCameraVisible]</h3>
131 132 133 134 135
		<div>
			Show debug shadow camera frustum.<br />
			Default — *false*.
		</div>
		
136
		<h3>[property:Float shadowBias]</h3>
137
		<div>
138
			Shadow map bias, how much to add or subtract from the normalized depth when deciding whether a surface is in shadow.<br />
139 140 141
			Default — *0*.
		</div>

142
		<h3>[property:Float shadowDarkness]</h3>
143 144 145 146 147
		<div>
			Darkness of shadow casted by this light (from *0* to *1*).<br />
			Default — *0.5*.
		</div>

148
		<h3>[property:Integer shadowMapWidth]</h3>
149 150 151 152 153
		<div>
			Shadow map texture width in pixels.<br />
			Default — *512*.
		</div>

154
		<h3>[property:Integer shadowMapHeight]</h3>
155 156 157 158 159
		<div>
			Shadow map texture height in pixels.<br />
			Default — *512*.
		</div>
		
160
		<h3>[property:Vector2 shadowMapSize]</h3>
C
cjshannon 已提交
161
		<div>
162
			The shadowMapWidth and shadowMapHeight stored in a [page:Vector2 THREE.Vector2]. Set internally during rendering.
C
cjshannon 已提交
163 164
		</div> 

165
		<h3>[property:PerspectiveCamera shadowCamera]</h3>
C
cjshannon 已提交
166
		<div>
167
			The shadow's view of the world. Computed internally during rendering from the shadowCamera* settings.
C
cjshannon 已提交
168 169
		</div> 

170
		<h3>[property:Matrix4 shadowMatrix]</h3>
C
cjshannon 已提交
171
		<div>
172
			Model to shadow camera space, to compute location and depth in shadow map. Computed internally during rendering.
C
cjshannon 已提交
173 174
		</div> 

175
		<h3>[property:WebGLRenderTarget shadowMap]</h3>
C
cjshannon 已提交
176
		<div>
177
		    The depth map generated using the shadowCamera; a location beyond a pixel's depth is in shadow. Computed internally during rendering.
C
cjshannon 已提交
178 179
		</div> 

180 181
		<h2>Methods</h2>		
		
182 183 184 185 186
		<h2>Source</h2>

		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
	</body>
</html>