index.html 13.6 KB
Newer Older
M
Mr.doob 已提交
1 2 3
<!DOCTYPE html>
<html lang="en">
	<head>
4
		<meta charset="utf-8">
M
Mr.doob 已提交
5 6
		<title>three.js / examples</title>
		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
M
Mr.doob 已提交
7 8 9 10 11 12 13 14 15
		<style>

			@font-face {
				font-family: 'inconsolata';
				src: url('files/inconsolata.woff') format('woff');
				font-weight: normal;
				font-style: normal;
			}

M
Mr.doob 已提交
16
			* {
M
Mr.doob 已提交
17 18 19
				box-sizing: border-box;
			}

M
Mr.doob 已提交
20 21 22 23
			html {
				height: 100%;
			}

M
Mr.doob 已提交
24 25 26
			body {
				background-color: #ffffff;
				margin: 0px;
M
Mr.doob 已提交
27 28
				height: 100%;
				color: #555;
M
Mr.doob 已提交
29 30
				font-family: 'inconsolata';
				font-size: 15px;
M
Mr.doob 已提交
31
				line-height: 18px;
M
Mr.doob 已提交
32
				overflow: hidden;
33
			}
M
Mr.doob 已提交
34

M
Mr.doob 已提交
35 36 37 38 39 40 41 42 43 44 45 46 47
			h1 {
				margin-top: 30px;
				margin-bottom: 40px;
				margin-left: 20px;
				font-size: 25px;
				font-weight: normal;
			}

			h2 {
				font-size: 20px;
				font-weight: normal;
			}

48 49 50
			a {
				color: #2194CE;
				text-decoration: none;
M
Mr.doob 已提交
51 52 53
			}

			#panel {
M
Mr.doob 已提交
54 55
				position: fixed;
				left: 0px;
M
Mr.doob 已提交
56
				width: 310px;
M
Mr.doob 已提交
57
				height: 100%;
M
Mr.doob 已提交
58
				overflow: auto;
M
Mr.doob 已提交
59
				background: #fafafa;
M
Mr.doob 已提交
60 61
			}

M
Mr.doob 已提交
62
				#panel #content {
63
					padding: 0px 20px;
M
Mr.doob 已提交
64 65
				}

M
Mr.doob 已提交
66
				#panel #content .link {
M
Mr.doob 已提交
67 68 69 70 71
					color: #2194CE;
					text-decoration: none;
					cursor: pointer;
				}

M
Mr.doob 已提交
72
				#panel #content .selected {
M
Mr.doob 已提交
73 74 75
					color: #ff0000;
				}

M
Mr.doob 已提交
76
					#panel #content .link:hover {
M
Mr.doob 已提交
77 78 79
						text-decoration: underline;
					}

M
Mr.doob 已提交
80 81
			#viewer {
				position: absolute;
M
Mr.doob 已提交
82
				border: 0px;
M
Mr.doob 已提交
83 84
				left: 310px;
				width: calc(100% - 310px);
M
Mr.doob 已提交
85
				height: 100%;
M
Mr.doob 已提交
86
				overflow: auto;
M
Mr.doob 已提交
87 88
			}

89 90
			#button {
				position: fixed;
91
				bottom: 20px;
92 93 94 95 96 97 98 99 100 101 102 103
				right: 20px;
				padding: 8px;
				color: #fff;
				background-color: #555;
				opacity: 0.7;
			}

				#button:hover {
					cursor: pointer;
					opacity: 1;
				}

M
Mr.doob 已提交
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
			/* mobile */

			#expandButton {
				display: none;
				position: absolute;
				right: 20px;
				top: 12px;
				width: 32px;
				height: 32px;
			}

				#expandButton span {
					height: 2px;
					background-color: #2194CE;
					width: 16px;
					position: absolute;
					left: 8px;
					top: 10px;
				}

				#expandButton span:nth-child(1) {
					top: 16px;
				}

				#expandButton span:nth-child(2) {
					top: 22px;
				}

			@media all and ( max-width: 640px ) {
M
Mr.doob 已提交
133 134 135 136
				h1{
					margin-top: 20px;
					margin-bottom: 20px;
				}
M
Mr.doob 已提交
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
				#panel{
					position: absolute;
					left: 0;
					top: 0;
					height: 480px;
					width: 100%;
					right: 0;
					z-index: 100;
					overflow: hidden;
					border-bottom: 1px solid #dedede;
				}
				#content{
					position: absolute;
					left: 0;
					top: 60px;
					right: 0;
					bottom: 0;
M
Mr.doob 已提交
154 155 156
					font-size: 17px;
					line-height: 22px;
					overflow: auto;
M
Mr.doob 已提交
157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
				}
				#viewer{
					position: absolute;
					left: 0;
					top: 56px;
					width: 100%;
					height: calc(100% - 56px);
				}
				#expandButton{
					display: block;
				}
				#panel.collapsed{
					height: 56px;
				}
			}

M
Mr.doob 已提交
173 174 175 176
		</style>
	</head>
	<body>

M
Mr.doob 已提交
177 178
		<div id="panel" class="collapsed">
			<h1><a href="http://threejs.org">three.js</a> / examples</h1>
M
Mr.doob 已提交
179
			<a id="expandButton" href="#">
M
Mr.doob 已提交
180 181 182 183 184
				<span></span>
				<span></span>
				<span></span>
			</a>
			<div id="content"></div>
M
Mr.doob 已提交
185
		</div>
186
		<iframe id="viewer" allowfullscreen onmousewheel=""></iframe>
M
Mr.doob 已提交
187 188 189

		<script>

M
Mr.doob 已提交
190 191 192
		var files = {
			"webgl": [
				"webgl_animation_cloth",
M
Mr.doob 已提交
193
				"webgl_animation_scene",
194
				"webgl_animation_skinning_blending",
M
Mr.doob 已提交
195 196
				"webgl_animation_skinning_morph",
				"webgl_camera",
197
				"webgl_camera_logarithmicdepthbuffer",
M
Mr.doob 已提交
198
				"webgl_decals",
M
Mr.doob 已提交
199 200
				"webgl_effects_anaglyph",
				"webgl_effects_parallaxbarrier",
201
				"webgl_effects_stereo",
C
Cy-Bo-Rg 已提交
202
				"webgl_exporter_obj",
M
Mr.doob 已提交
203 204 205
				"webgl_geometries",
				"webgl_geometries2",
				"webgl_geometry_colors",
M
Mr.doob 已提交
206 207
				"webgl_geometry_colors_blender",
				"webgl_geometry_colors_lookuptable",
M
Mr.doob 已提交
208 209 210 211
				"webgl_geometry_convex",
				"webgl_geometry_cube",
				"webgl_geometry_dynamic",
				"webgl_geometry_extrude_shapes",
212
				"webgl_geometry_extrude_shapes2",
M
Mr.doob 已提交
213 214 215 216 217 218 219 220 221
				"webgl_geometry_extrude_splines",
				"webgl_geometry_hierarchy",
				"webgl_geometry_hierarchy2",
				"webgl_geometry_large_mesh",
				"webgl_geometry_minecraft",
				"webgl_geometry_minecraft_ao",
				"webgl_geometry_normals",
				"webgl_geometry_nurbs",
				"webgl_geometry_shapes",
C
Cy-Bo-Rg 已提交
222
				"webgl_geometry_spline_editor",
M
Mr.doob 已提交
223
				"webgl_geometry_teapot",
M
Mr.doob 已提交
224 225 226 227
				"webgl_geometry_terrain",
				"webgl_geometry_terrain_fog",
				"webgl_geometry_terrain_raycast",
				"webgl_geometry_text",
228
				"webgl_geometry_text2",
F
Felix Palmer 已提交
229
				"webgl_geometry_text_earcut",
230
				"webgl_gpgpu_birds",
231
				"webgl_gpu_particle_system",
M
Mr.doob 已提交
232 233
				"webgl_hdr",
				"webgl_helpers",
234
				"webgl_interactive_buffergeometry",
M
Mr.doob 已提交
235 236
				"webgl_interactive_cubes",
				"webgl_interactive_cubes_gpu",
237
				"webgl_interactive_cubes_ortho",
M
Mr.doob 已提交
238
				"webgl_interactive_draggablecubes",
239
				"webgl_interactive_lines",
M
Mr.doob 已提交
240 241
				"webgl_interactive_points",
				"webgl_interactive_raycasting_points",
M
Mr.doob 已提交
242 243 244 245 246 247 248 249 250 251 252
				"webgl_interactive_voxelpainter",
				"webgl_kinect",
				"webgl_lensflares",
				"webgl_lights_hemisphere",
				"webgl_lights_pointlights",
				"webgl_lights_pointlights2",
				"webgl_lines_colors",
				"webgl_lines_cubes",
				"webgl_lines_dashed",
				"webgl_lines_sphere",
				"webgl_lines_splines",
M
Mr.doob 已提交
253
				"webgl_loader_amf",
254
				"webgl_loader_assimp2json",
255
				"webgl_loader_awd",
V
Vincent Lark 已提交
256
				"webgl_loader_babylon",
M
Mr.doob 已提交
257 258
				"webgl_loader_collada",
				"webgl_loader_collada_keyframe",
259
				"webgl_loader_collada_kinematics",
C
Cy-Bo-Rg 已提交
260
				"webgl_loader_collada_skinning",
M
Mr.doob 已提交
261 262
				"webgl_loader_ctm",
				"webgl_loader_ctm_materials",
263
				"webgl_loader_gltf",
M
Mr.doob 已提交
264
				"webgl_loader_json_blender",
265
				"webgl_loader_json_claraio",
M
Mr.doob 已提交
266
				"webgl_loader_json_objconverter",
M
Mr.doob 已提交
267 268
				"webgl_loader_md2",
				"webgl_loader_md2_control",
269
				"webgl_loader_msgpack",
M
Mr.doob 已提交
270 271
				"webgl_loader_obj",
				"webgl_loader_obj_mtl",
M
Mr.doob 已提交
272
				"webgl_loader_pdb",
M
Mr.doob 已提交
273
				"webgl_loader_ply",
J
Jean Carlo Deconto 已提交
274
				"webgl_loader_sea3d",
J
Jean Carlo Deconto 已提交
275 276
				"webgl_loader_sea3d_hierarchy",
				"webgl_loader_sea3d_keyframe",
J
Jean Carlo Deconto 已提交
277
				"webgl_loader_sea3d_morph",
J
Jean Carlo Deconto 已提交
278 279
				"webgl_loader_sea3d_skinning",
				"webgl_loader_sea3d_sound",
M
Mr.doob 已提交
280
				"webgl_loader_scene",
M
Mr.doob 已提交
281 282 283 284 285
				"webgl_loader_stl",
				"webgl_loader_utf8",
				"webgl_loader_vrml",
				"webgl_loader_vtk",
				"webgl_lod",
M
Mr.doob 已提交
286
				"webgl_marchingcubes",
M
Mr.doob 已提交
287 288 289 290 291 292 293 294 295 296 297 298 299 300
				"webgl_materials",
				"webgl_materials2",
				"webgl_materials_blending",
				"webgl_materials_blending_custom",
				"webgl_materials_bumpmap",
				"webgl_materials_bumpmap_skin",
				"webgl_materials_cars",
				"webgl_materials_cubemap",
				"webgl_materials_cubemap_balls_reflection",
				"webgl_materials_cubemap_balls_refraction",
				"webgl_materials_cubemap_dynamic",
				"webgl_materials_cubemap_dynamic2",
				"webgl_materials_cubemap_escher",
				"webgl_materials_cubemap_refraction",
301
				"webgl_materials_displacementmap",
M
Mr.doob 已提交
302
				"webgl_materials_envmaps",
M
Mr.doob 已提交
303 304
				"webgl_materials_grass",
				"webgl_materials_lightmap",
C
Cy-Bo-Rg 已提交
305
				"webgl_materials_normalmap",
J
Jan Wrobel 已提交
306
				"webgl_materials_parallaxmap",
M
Mr.doob 已提交
307 308 309 310 311
				"webgl_materials_shaders_fresnel",
				"webgl_materials_skin",
				"webgl_materials_texture_anisotropy",
				"webgl_materials_texture_compressed",
				"webgl_materials_texture_filters",
C
Cy-Bo-Rg 已提交
312
				"webgl_materials_texture_hdr",
M
Mr.doob 已提交
313
				"webgl_materials_texture_manualmipmap",
M
Mr.doob 已提交
314 315
				"webgl_materials_texture_pvrtc",
				"webgl_materials_texture_tga",
M
Mr.doob 已提交
316 317
				"webgl_materials_video",
				"webgl_materials_wireframe",
M
Mr.doob 已提交
318
				"webgl_mirror",
M
Mr.doob 已提交
319 320
				"webgl_modifier_subdivision",
				"webgl_modifier_tessellation",
M
Mr.doob 已提交
321 322 323
				"webgl_morphnormals",
				"webgl_morphtargets",
				"webgl_morphtargets_horse",
324
				"webgl_morphtargets_human",
M
Mr.doob 已提交
325 326 327
				"webgl_multiple_canvases_circle",
				"webgl_multiple_canvases_complex",
				"webgl_multiple_canvases_grid",
328
				"webgl_multiple_elements",
D
dubejf 已提交
329
				"webgl_multiple_renderers",
M
Mr.doob 已提交
330
				"webgl_multiple_views",
M
Mr.doob 已提交
331
				"webgl_nearestneighbour",
C
Cy-Bo-Rg 已提交
332
				"webgl_objects_update",
M
Mr.doob 已提交
333 334 335 336 337 338
				"webgl_octree",
				"webgl_octree_raycasting",
				"webgl_panorama_equirectangular",
				"webgl_performance",
				"webgl_performance_doublesided",
				"webgl_performance_static",
M
Mr.doob 已提交
339 340 341 342 343
				"webgl_points_billboards",
				"webgl_points_billboards_colors",
				"webgl_points_dynamic",
				"webgl_points_random",
				"webgl_points_sprites",
M
Mr.doob 已提交
344 345
				"webgl_postprocessing",
				"webgl_postprocessing_advanced",
C
Cy-Bo-Rg 已提交
346
				"webgl_postprocessing_crossfade",
M
Mr.doob 已提交
347 348
				"webgl_postprocessing_dof",
				"webgl_postprocessing_dof2",
D
drakh 已提交
349
				"webgl_postprocessing_glitch",
C
Cy-Bo-Rg 已提交
350
				"webgl_postprocessing_godrays",
M
Mr.doob 已提交
351
				"webgl_postprocessing_ssao",
352
				"webgl_raycast_texture",
M
Mr.doob 已提交
353
				"webgl_read_float_buffer",
M
Mr.doob 已提交
354 355 356
				"webgl_rtt",
				"webgl_sandbox",
				"webgl_shader",
M
Mr.doob 已提交
357
				"webgl_shader_lava",
M
Mr.doob 已提交
358
				"webgl_shader2",
359
				"webgl_shaders_ocean",
360
				"webgl_shaders_ocean2",
M
Mr.doob 已提交
361
				"webgl_shaders_sky",
M
Mr.doob 已提交
362
				"webgl_shaders_tonemapping",
M
Mr.doob 已提交
363
				"webgl_shaders_vector",
C
Cy-Bo-Rg 已提交
364
				"webgl_shading_physical",
M
Mr.doob 已提交
365 366
				"webgl_shadowmap",
				"webgl_shadowmap_performance",
M
Mr.doob 已提交
367
				"webgl_shadowmap_pointlight",
368
				"webgl_shadowmap_viewer",
M
Mr.doob 已提交
369
				"webgl_shadowmesh",
C
Cy-Bo-Rg 已提交
370
				"webgl_skinning_simple",
M
Mr.doob 已提交
371 372 373 374
				"webgl_sprites",
				"webgl_terrain_dynamic",
				"webgl_test_memory",
				"webgl_test_memory2",
M
Mr.doob 已提交
375 376
				"webgl_trails",
				"webgl_video_panorama_equirectangular"
M
Mr.doob 已提交
377
			],
378 379
			"webgl / advanced": [
				"webgl_buffergeometry",
C
Cy-Bo-Rg 已提交
380
				"webgl_buffergeometry_constructed_from_geometry",
381 382 383 384
				"webgl_buffergeometry_custom_attributes_particles",
				"webgl_buffergeometry_drawcalls",
				"webgl_buffergeometry_instancing",
				"webgl_buffergeometry_instancing_billboards",
C
Cy-Bo-Rg 已提交
385
				"webgl_buffergeometry_instancing_dynamic",
386 387 388
				"webgl_buffergeometry_instancing_interleaved_dynamic",
				"webgl_buffergeometry_lines",
				"webgl_buffergeometry_lines_indexed",
M
Mr.doob 已提交
389
				"webgl_buffergeometry_points",
390
				"webgl_buffergeometry_rawshader",
391
				"webgl_buffergeometry_selective_draw",
392 393 394
				"webgl_buffergeometry_uint",
				"webgl_custom_attributes",
				"webgl_custom_attributes_lines",
M
Mr.doob 已提交
395 396 397
				"webgl_custom_attributes_points",
				"webgl_custom_attributes_points2",
				"webgl_custom_attributes_points3"
398
			],
399
			"vr": [
M
Mr.doob 已提交
400 401
				"vr_cubes",
				"vr_video"
402
			],
M
Mr.doob 已提交
403 404 405
			"css3d": [
				"css3d_molecules",
				"css3d_panorama",
C
Cy-Bo-Rg 已提交
406
				"css3d_panorama_deviceorientation",
M
Mr.doob 已提交
407 408 409 410 411
				"css3d_periodictable",
				"css3d_sandbox",
				"css3d_sprites",
				"css3d_youtube"
			],
M
Mr.doob 已提交
412 413 414
			"css3d stereo": [
				"css3dstereo_periodictable",
			],
M
Mr.doob 已提交
415
			"misc": [
J
jox81 已提交
416
				"misc_animation_keys",
M
Mr.doob 已提交
417
				"misc_controls_deviceorientation",
M
Mr.doob 已提交
418 419 420 421 422
				"misc_controls_fly",
				"misc_controls_orbit",
				"misc_controls_pointerlock",
				"misc_controls_trackball",
				"misc_controls_transform",
C
Cy-Bo-Rg 已提交
423
				"misc_fps",
M
Mr.doob 已提交
424 425 426 427
				"misc_lights_test",
				"misc_lookat",
				"misc_sound",
				"misc_ubiquity_test",
M
Mr.doob 已提交
428
				"misc_ubiquity_test2",
M
Mr.doob 已提交
429 430 431 432 433 434
				"misc_uv_tests"
			],
			"canvas": [
				"canvas_ascii_effect",
				"canvas_camera_orthographic",
				"canvas_camera_orthographic2",
435
				"canvas_effects_stereo",
M
Mr.doob 已提交
436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452
				"canvas_geometry_birds",
				"canvas_geometry_cube",
				"canvas_geometry_earth",
				"canvas_geometry_hierarchy",
				"canvas_geometry_nurbs",
				"canvas_geometry_panorama",
				"canvas_geometry_panorama_fisheye",
				"canvas_geometry_shapes",
				"canvas_geometry_terrain",
				"canvas_geometry_text",
				"canvas_interactive_cubes",
				"canvas_interactive_cubes_tween",
				"canvas_interactive_particles",
				"canvas_interactive_voxelpainter",
				"canvas_lights_pointlights",
				"canvas_lines",
				"canvas_lines_colors",
C
Cy-Bo-Rg 已提交
453
				"canvas_lines_colors_2d",
M
Mr.doob 已提交
454
				"canvas_lines_dashed",
M
Mr.doob 已提交
455 456 457 458 459
				"canvas_lines_sphere",
				"canvas_materials",
				"canvas_materials_normal",
				"canvas_materials_reflection",
				"canvas_materials_video",
M
Mr.doob 已提交
460
				"canvas_morphtargets_horse",
M
Mr.doob 已提交
461 462 463 464 465 466 467
				"canvas_particles_floor",
				"canvas_particles_random",
				"canvas_particles_sprites",
				"canvas_particles_waves",
				"canvas_performance",
				"canvas_sandbox"
			],
M
Mr.doob 已提交
468 469 470
			"raytracing": [
				"raytracing_sandbox"
			],
M
Mr.doob 已提交
471
			"software": [
472
				"software_geometry_earth",
M
Mr.doob 已提交
473
				"software_sandbox"
M
Mr.doob 已提交
474 475 476
			],
			"svg": [
				"svg_sandbox"
M
Mr.doob 已提交
477 478
			]
		};
M
Mr.doob 已提交
479

M
Mr.doob 已提交
480 481
		//

M
Mr.doob 已提交
482
		var panel = document.getElementById( 'panel' );
M
Mr.doob 已提交
483
		var content = document.getElementById( 'content' );
M
Mr.doob 已提交
484
		var viewer = document.getElementById( 'viewer' );
M
Mr.doob 已提交
485

M
Mr.doob 已提交
486 487 488 489 490 491 492 493
		var expandButton = document.getElementById( 'expandButton' );
		expandButton.addEventListener( 'click', function ( event ) {
			panel.classList.toggle( 'collapsed' );
			event.preventDefault();
		} );

		// iOS8 workaround

494 495 496 497 498 499 500 501 502 503 504
		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {

			viewer.addEventListener( 'load', function ( event ) {

				viewer.contentWindow.innerWidth -= 10;
				viewer.contentWindow.innerHeight -= 2;

			} );

		}

M
Mr.doob 已提交
505
		var container = document.createElement( 'div' );
M
Mr.doob 已提交
506
		content.appendChild( container );
M
Mr.doob 已提交
507

508 509
		var button = document.createElement( 'div' );
		button.id = 'button';
M
Mr.doob 已提交
510
		button.textContent = 'View source';
511 512 513 514 515
		button.addEventListener( 'click', function ( event ) {

			var array = location.href.split( '/' );
			array.pop();

M
Mr.doob 已提交
516
			window.open( 'view-source:' + array.join( '/' ) + '/' + selected + '.html' );
517 518 519 520 521

		}, false );
		button.style.display = 'none';
		document.body.appendChild( button );

M
Mr.doob 已提交
522
		var divs = {};
523
		var selected = null;
M
Mr.doob 已提交
524

M
Mr.doob 已提交
525
		for ( var key in files ) {
M
Mr.doob 已提交
526

M
Mr.doob 已提交
527
			var section = files[ key ];
M
Mr.doob 已提交
528

M
Mr.doob 已提交
529 530 531
			var div = document.createElement( 'h2' );
			div.textContent = key;
			container.appendChild( div );
M
Mr.doob 已提交
532

M
Mr.doob 已提交
533
			for ( var i = 0; i < section.length; i ++ ) {
M
Mr.doob 已提交
534

M
Mr.doob 已提交
535
				( function ( file ) {
M
Mr.doob 已提交
536

M
Mr.doob 已提交
537 538 539
					var name = file.split( '_' );
					name.shift();
					name = name.join( ' / ' );
M
Mr.doob 已提交
540

M
Mr.doob 已提交
541 542 543 544 545
					var div = document.createElement( 'div' );
					div.className = 'link';
					div.textContent = name;
					div.addEventListener( 'click', function () {

M
Mr.doob 已提交
546
						panel.classList.toggle( 'collapsed' );
M
Mr.doob 已提交
547 548 549 550 551 552 553 554 555 556
						load( file );

					} );
					container.appendChild( div );

					divs[ file ] = div;

				} )( section[ i ] );

			}
M
Mr.doob 已提交
557 558 559 560 561

		}

		var load = function ( file ) {

562
			if ( selected !== null ) divs[ selected ].className = 'link';
M
Mr.doob 已提交
563

M
Mr.doob 已提交
564
			divs[ file ].className = 'link selected';
M
Mr.doob 已提交
565 566 567

			window.location.hash = file;
			viewer.src = file + '.html';
M
Mr.doob 已提交
568
			viewer.focus();
M
Mr.doob 已提交
569

570 571
			button.style.display = '';

M
Mr.doob 已提交
572 573
			selected = file;

M
Mr.doob 已提交
574
		};
M
Mr.doob 已提交
575

M
Mr.doob 已提交
576
		if ( window.location.hash !== '' ) {
M
Mr.doob 已提交
577

M
Mr.doob 已提交
578
			load( window.location.hash.substring( 1 ) );
M
Mr.doob 已提交
579 580 581 582 583 584

		}

		</script>

	</body>
585
</html>