index.html 10.9 KB
Newer Older
M
Mr.doob 已提交
1 2 3 4
<!DOCTYPE html>
<html lang="en">
	<head>
		<title>three.js - examples</title>
5
		<meta charset="utf-8">
M
Mr.doob 已提交
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
		<style>

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

			body {
				background-color: #ffffff;
				margin: 0px;
				font-family: 'inconsolata';
				font-size: 15px;
				overflow: hidden;
21
			}
M
Mr.doob 已提交
22

23 24 25
			a {
				color: #2194CE;
				text-decoration: none;
M
Mr.doob 已提交
26 27 28
			}

			h1 {
M
Mr.doob 已提交
29
				margin-top: 30px;
30
				margin-bottom: 40px;
M
Mr.doob 已提交
31 32 33 34
				font-size: 25px;
				font-weight: normal;
			}

M
Mr.doob 已提交
35 36 37 38 39
			h2 {
				font-size: 20px;
				font-weight: normal;
			}

M
Mr.doob 已提交
40 41
			#panel {
				position: absolute;
M
Mr.doob 已提交
42
				width: 310px;
M
Mr.doob 已提交
43 44
				height: 100%;
				overflow: scroll;
M
Mr.doob 已提交
45
				background: #fafafa;
M
Mr.doob 已提交
46 47 48
			}

				#panel #list {
49
					padding: 0px 20px;
M
Mr.doob 已提交
50 51 52
					line-height: 18px;
				}

M
Mr.doob 已提交
53 54 55 56 57 58 59 60 61 62 63 64 65 66
				#panel #list .link {
					color: #2194CE;
					text-decoration: none;
					cursor: pointer;
				}

				#panel #list .selected {
					color: #ff0000;
				}

					#panel #list .link:hover {
						text-decoration: underline;
					}

M
Mr.doob 已提交
67 68
			#viewer {
				position: absolute;
M
Mr.doob 已提交
69 70
				left: 310px;
				width: calc(100% - 310px);
M
Mr.doob 已提交
71 72 73 74
				height: 100%;
				border: 0px;
			}

75 76
			#button {
				position: fixed;
M
Mr.doob 已提交
77
				top: 20px;
78 79 80 81 82 83 84 85 86 87 88 89
				right: 20px;
				padding: 8px;
				color: #fff;
				background-color: #555;
				opacity: 0.7;
			}

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

M
Mr.doob 已提交
90 91 92 93 94 95
		</style>
	</head>
	<body>

		<div id="panel">
			<div id="list">
96
				<h1><a href="http://threejs.org">three.js</a> / examples</h1>
M
Mr.doob 已提交
97 98
			</div>
		</div>
99
		<iframe id="viewer" allowfullscreen></iframe>
M
Mr.doob 已提交
100 101 102

		<script>

M
Mr.doob 已提交
103 104 105
		var files = {
			"webgl": [
				"webgl_animation_cloth",
106
				"webgl_animation_skinning_blending",
M
Mr.doob 已提交
107 108 109 110
				"webgl_animation_skinning_morph",
				"webgl_buffergeometry",
				"webgl_buffergeometry_custom_attributes_particles",
				"webgl_buffergeometry_lines",
111
				"webgl_buffergeometry_lines_indexed",
M
Mr.doob 已提交
112
				"webgl_buffergeometry_particles",
113
				"webgl_buffergeometry_rawshader",
M
Mr.doob 已提交
114
				"webgl_buffergeometry_uint",
M
Mr.doob 已提交
115
				"webgl_camera",
116
				"webgl_camera_logarithmicdepthbuffer",
M
Mr.doob 已提交
117 118 119 120 121
				"webgl_custom_attributes",
				"webgl_custom_attributes_lines",
				"webgl_custom_attributes_particles",
				"webgl_custom_attributes_particles2",
				"webgl_custom_attributes_particles3",
M
Mr.doob 已提交
122
				"webgl_decals",
M
Mr.doob 已提交
123 124 125
				"webgl_effects_anaglyph",
				"webgl_effects_oculusrift",
				"webgl_effects_parallaxbarrier",
126
				"webgl_effects_stereo",
M
Mr.doob 已提交
127
				"webgl_effects_vr",
M
Mr.doob 已提交
128 129 130
				"webgl_geometries",
				"webgl_geometries2",
				"webgl_geometry_colors",
M
Mr.doob 已提交
131 132
				"webgl_geometry_colors_blender",
				"webgl_geometry_colors_lookuptable",
M
Mr.doob 已提交
133 134 135 136
				"webgl_geometry_convex",
				"webgl_geometry_cube",
				"webgl_geometry_dynamic",
				"webgl_geometry_extrude_shapes",
137
				"webgl_geometry_extrude_shapes2",
M
Mr.doob 已提交
138 139 140 141 142 143 144 145 146 147 148 149 150
				"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",
				"webgl_geometry_terrain",
				"webgl_geometry_terrain_fog",
				"webgl_geometry_terrain_raycast",
				"webgl_geometry_text",
151
				"webgl_geometry_text2",
152
				"webgl_gpgpu_birds",
M
Mr.doob 已提交
153 154
				"webgl_hdr",
				"webgl_helpers",
155
				"webgl_interactive_buffergeometry",
M
Mr.doob 已提交
156 157
				"webgl_interactive_cubes",
				"webgl_interactive_cubes_gpu",
158
				"webgl_interactive_cubes_ortho",
M
Mr.doob 已提交
159
				"webgl_interactive_draggablecubes",
160
				"webgl_interactive_lines",
161
				"webgl_interactive_particles",
162
				"webgl_interactive_raycasting_pointcloud",
M
Mr.doob 已提交
163 164 165 166 167 168 169 170 171 172 173
				"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",
174
				"webgl_loader_assimp2json",
175
				"webgl_loader_awd",
V
Vincent Lark 已提交
176
				"webgl_loader_babylon",
M
Mr.doob 已提交
177 178
				"webgl_loader_collada",
				"webgl_loader_collada_keyframe",
179
				"webgl_loader_collada_skinning",
180
				"webgl_loader_collada_kinematics",
M
Mr.doob 已提交
181 182
				"webgl_loader_ctm",
				"webgl_loader_ctm_materials",
183
				"webgl_loader_gltf",
M
Mr.doob 已提交
184 185
				"webgl_loader_json_blender",
				"webgl_loader_json_objconverter",
186
				"webgl_loader_msgpack",
M
Mr.doob 已提交
187 188
				"webgl_loader_obj",
				"webgl_loader_obj_mtl",
M
Mr.doob 已提交
189
				"webgl_loader_pdb",
M
Mr.doob 已提交
190
				"webgl_loader_ply",
M
Mr.doob 已提交
191
				"webgl_loader_scene",
M
Mr.doob 已提交
192 193 194 195 196
				"webgl_loader_stl",
				"webgl_loader_utf8",
				"webgl_loader_vrml",
				"webgl_loader_vtk",
				"webgl_lod",
M
Mr.doob 已提交
197
				"webgl_marchingcubes",
M
Mr.doob 已提交
198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
				"webgl_materials",
				"webgl_materials2",
				"webgl_materials_blending",
				"webgl_materials_blending_custom",
				"webgl_materials_bumpmap",
				"webgl_materials_bumpmap_skin",
				"webgl_materials_cars",
				"webgl_materials_cars_camaro",
				"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",
M
Mr.doob 已提交
213
				"webgl_materials_envmaps",
M
Mr.doob 已提交
214 215 216 217
				"webgl_materials_grass",
				"webgl_materials_lightmap",
				"webgl_materials_normalmap",
				"webgl_materials_normalmap2",
J
Jan Wrobel 已提交
218
				"webgl_materials_parallaxmap",
M
Mr.doob 已提交
219 220 221 222 223 224
				"webgl_materials_shaders_fresnel",
				"webgl_materials_skin",
				"webgl_materials_texture_anisotropy",
				"webgl_materials_texture_compressed",
				"webgl_materials_texture_filters",
				"webgl_materials_texture_manualmipmap",
M
Mr.doob 已提交
225 226
				"webgl_materials_texture_pvrtc",
				"webgl_materials_texture_tga",
M
Mr.doob 已提交
227 228
				"webgl_materials_video",
				"webgl_materials_wireframe",
M
Mr.doob 已提交
229
				"webgl_mirror",
M
Mr.doob 已提交
230 231
				"webgl_modifier_subdivision",
				"webgl_modifier_tessellation",
M
Mr.doob 已提交
232 233 234
				"webgl_morphnormals",
				"webgl_morphtargets",
				"webgl_morphtargets_horse",
235
				"webgl_morphtargets_human",
M
Mr.doob 已提交
236 237 238 239 240 241
				"webgl_morphtargets_md2",
				"webgl_morphtargets_md2_control",
				"webgl_multiple_canvases_circle",
				"webgl_multiple_canvases_complex",
				"webgl_multiple_canvases_grid",
				"webgl_multiple_views",
M
Mr.doob 已提交
242
				"webgl_nearestneighbour",
M
Mr.doob 已提交
243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259
				"webgl_octree",
				"webgl_octree_raycasting",
				"webgl_panorama_equirectangular",
				"webgl_particles_billboards",
				"webgl_particles_billboards_colors",
				"webgl_particles_dynamic",
				"webgl_particles_random",
				"webgl_particles_shapes",
				"webgl_particles_sprites",
				"webgl_performance",
				"webgl_performance_doublesided",
				"webgl_performance_static",
				"webgl_postprocessing",
				"webgl_postprocessing_advanced",
				"webgl_postprocessing_dof",
				"webgl_postprocessing_dof2",
				"webgl_postprocessing_godrays",
260
				"webgl_postprocessing_crossfade",
D
drakh 已提交
261
				"webgl_postprocessing_glitch",
M
Mr.doob 已提交
262 263 264
				"webgl_rtt",
				"webgl_sandbox",
				"webgl_shader",
M
Mr.doob 已提交
265
				"webgl_shader_lava",
M
Mr.doob 已提交
266
				"webgl_shader2",
267
				"webgl_shaders_ocean",
M
Mr.doob 已提交
268
				"webgl_shading_physical",
M
Mr.doob 已提交
269
				"webgl_shaders_sky",
M
Mr.doob 已提交
270
				"webgl_shaders_tonemapping",
M
Mr.doob 已提交
271
				"webgl_shaders_vector",
M
Mr.doob 已提交
272 273 274 275 276 277
				"webgl_shadowmap",
				"webgl_shadowmap_performance",
				"webgl_sprites",
				"webgl_terrain_dynamic",
				"webgl_test_memory",
				"webgl_test_memory2",
M
Mr.doob 已提交
278 279
				"webgl_trails",
				"webgl_video_panorama_equirectangular"
M
Mr.doob 已提交
280 281 282 283 284 285 286 287 288 289 290 291 292 293
			],
			"webgldeferred": [
				"webgldeferred_animation",
				"webgldeferred_arealights",
				"webgldeferred_pointlights"
			],
			"css3d": [
				"css3d_molecules",
				"css3d_panorama",
				"css3d_periodictable",
				"css3d_sandbox",
				"css3d_sprites",
				"css3d_youtube"
			],
M
Mr.doob 已提交
294 295 296
			"css3d stereo": [
				"css3dstereo_periodictable",
			],
M
Mr.doob 已提交
297
			"misc": [
J
jox81 已提交
298
				"misc_animation_keys",
M
Mr.doob 已提交
299
				"misc_controls_deviceorientation",
M
Mr.doob 已提交
300 301 302 303 304 305 306 307
				"misc_controls_fly",
				"misc_controls_oculusrift",
				"misc_controls_orbit",
				"misc_controls_pointerlock",
				"misc_controls_trackball",
				"misc_controls_transform",
				"misc_lights_test",
				"misc_lookat",
M
makc 已提交
308
				"misc_fps",
M
Mr.doob 已提交
309 310
				"misc_sound",
				"misc_ubiquity_test",
M
Mr.doob 已提交
311
				"misc_ubiquity_test2",
M
Mr.doob 已提交
312 313 314 315 316 317
				"misc_uv_tests"
			],
			"canvas": [
				"canvas_ascii_effect",
				"canvas_camera_orthographic",
				"canvas_camera_orthographic2",
318
				"canvas_effects_stereo",
M
Mr.doob 已提交
319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335
				"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",
M
Mr.doob 已提交
336
				"canvas_lines_dashed",
M
Mr.doob 已提交
337 338 339 340 341 342
				"canvas_lines_sphere",
				"canvas_materials",
				"canvas_materials_depth",
				"canvas_materials_normal",
				"canvas_materials_reflection",
				"canvas_materials_video",
M
Mr.doob 已提交
343
				"canvas_morphtargets_horse",
M
Mr.doob 已提交
344 345 346 347 348 349 350 351
				"canvas_particles_floor",
				"canvas_particles_random",
				"canvas_particles_shapes",
				"canvas_particles_sprites",
				"canvas_particles_waves",
				"canvas_performance",
				"canvas_sandbox"
			],
M
Mr.doob 已提交
352 353 354
			"raytracing": [
				"raytracing_sandbox"
			],
M
Mr.doob 已提交
355
			"software": [
356
				"software_geometry_earth",
M
Mr.doob 已提交
357
				"software_sandbox"
M
Mr.doob 已提交
358 359 360
			],
			"svg": [
				"svg_sandbox"
M
Mr.doob 已提交
361 362
			]
		};
M
Mr.doob 已提交
363

M
Mr.doob 已提交
364 365
		//

M
Mr.doob 已提交
366
		var list = document.getElementById( 'list' );
M
Mr.doob 已提交
367
		var viewer = document.getElementById( 'viewer' );
M
Mr.doob 已提交
368

369 370 371 372 373 374 375 376 377 378 379
		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {

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

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

			} );

		}

M
Mr.doob 已提交
380 381 382
		var container = document.createElement( 'div' );
		list.appendChild( container );

383 384
		var button = document.createElement( 'div' );
		button.id = 'button';
M
Mr.doob 已提交
385
		button.textContent = 'View source';
386 387 388 389 390
		button.addEventListener( 'click', function ( event ) {

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

M
Mr.doob 已提交
391
			window.open( 'view-source:' + array.join( '/' ) + '/' + selected + '.html' );
392 393 394 395 396

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

M
Mr.doob 已提交
397
		var divs = {};
398
		var selected = null;
M
Mr.doob 已提交
399

M
Mr.doob 已提交
400
		for ( var key in files ) {
M
Mr.doob 已提交
401

M
Mr.doob 已提交
402
			var section = files[ key ];
M
Mr.doob 已提交
403

M
Mr.doob 已提交
404 405 406
			var div = document.createElement( 'h2' );
			div.textContent = key;
			container.appendChild( div );
M
Mr.doob 已提交
407

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

M
Mr.doob 已提交
410
				( function ( file ) {
M
Mr.doob 已提交
411

M
Mr.doob 已提交
412 413 414
					var name = file.split( '_' );
					name.shift();
					name = name.join( ' / ' );
M
Mr.doob 已提交
415

M
Mr.doob 已提交
416 417 418 419 420 421 422 423 424 425 426 427 428 429 430
					var div = document.createElement( 'div' );
					div.className = 'link';
					div.textContent = name;
					div.addEventListener( 'click', function () {

						load( file );

					} );
					container.appendChild( div );

					divs[ file ] = div;

				} )( section[ i ] );

			}
M
Mr.doob 已提交
431 432 433 434 435

		}

		var load = function ( file ) {

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

M
Mr.doob 已提交
438
			divs[ file ].className = 'link selected';
M
Mr.doob 已提交
439 440 441

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

444 445
			button.style.display = '';

M
Mr.doob 已提交
446 447
			selected = file;

M
Mr.doob 已提交
448
		};
M
Mr.doob 已提交
449

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

M
Mr.doob 已提交
452
			load( window.location.hash.substring( 1 ) );
M
Mr.doob 已提交
453 454 455 456 457 458

		}

		</script>

	</body>
459
</html>