index.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>three.js - JavaScript 3D library</title>
  6. <style>
  7. @font-face {
  8. font-family: 'inconsolata';
  9. src: url('files/inconsolata.woff') format('woff');
  10. font-weight: normal;
  11. font-style: normal;
  12. }
  13. body {
  14. background-color: #ffffff;
  15. margin: 0px;
  16. padding: 19px 0px 30px 180px;
  17. font-family: 'inconsolata';
  18. font-size: 15px;
  19. }
  20. h1 {
  21. color: #444;
  22. font-size: 25px;
  23. font-weight: normal;
  24. margin-top: 5px;
  25. margin-bottom: 20px;
  26. }
  27. h2 {
  28. color: #999;
  29. font-size: 18px;
  30. font-weight: normal;
  31. margin-top: 12px;
  32. }
  33. hr {
  34. border: 0px;
  35. height: 1px;
  36. background-color: #ccc;
  37. margin: 30px 0px;
  38. }
  39. a {
  40. color: #2194CE;
  41. font-size: 15px;
  42. }
  43. #panel {
  44. position: fixed;
  45. left: 0px;
  46. top: 0px;
  47. width: 140px;
  48. height: 100%;
  49. padding: 20px 20px 0px 20px;
  50. }
  51. .images {
  52. line-height: 0px;
  53. margin-bottom: 40px;
  54. }
  55. </style>
  56. </head>
  57. <body>
  58. <script type="text/javascript">
  59. var _gaq = _gaq || [];
  60. _gaq.push(['_setAccount', 'UA-86951-15']);
  61. _gaq.push(['_trackPageview']);
  62. (function() {
  63. var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  64. ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  65. var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  66. })();
  67. </script>
  68. <div id="panel">
  69. <h1>three.js<span style="font-size: 50%; vertical-align: super;"> r58</span></h1>
  70. <a href="http://github.com/mrdoob/three.js/zipball/master">download</a><br /><br />
  71. <a href="http://www.aerotwist.com/lab/getting-started-with-three-js/">getting started</a><br />
  72. <a href="docs/">documentation</a><br />
  73. <a href="http://webchat.freenode.net/?channels=three.js">chat</a><br />
  74. <a href="http://stackoverflow.com/questions/tagged/three.js">help</a><br /><br />
  75. <a href="http://github.com/mrdoob/three.js/">github</a><br />
  76. <a href="http://github.com/mrdoob/three.js/contributors">contributors</a><br />
  77. <a href="http://github.com/mrdoob/three.js/wiki">wiki</a><br />
  78. <a href="http://github.com/mrdoob/three.js/issues">issues</a><br /><br />
  79. <a href="editor/">editor</a> (beta)
  80. <hr />
  81. <center>
  82. <a href="http://www.udacity.com/overview/Course/cs291/" target="_blank"><img src="files/udacity.png" width="121" height="152" style="border:1px solid #ccc" /></a><br /><br />
  83. <a href="http://shop.oreilly.com/product/0636920024729.do" target="_blank"><img src="files/webglbook.png" width="100" height="132" style="border:1px solid #ccc" /></a>
  84. </center>
  85. </div>
  86. <h2>featured projects</h2>
  87. <div id="featured" class="images"></div>
  88. <script>
  89. var files = [
  90. [ "hyperlapse", "http://hyperlapse.tllabs.io/" ],
  91. [ "wwmaze", "http://chrome.com/maze/" ],
  92. [ "paleodictyon", "http://antivj.com/paleodictyon_app/" ],
  93. [ "findyourwaytooz", "http://www.findyourwaytooz.com/" ],
  94. [ "voxeljs", "http://voxeljs.com/" ],
  95. [ "neverseenthesky", "http://christmasexperiments.com/23/" ],
  96. [ "zeitgeist2012", "http://www.google.com/zeitgeist/2012/#explore" ],
  97. [ "zoetrope", "http://lab.sehsucht.de/" ],
  98. [ "mvsw", "http://www.pillandpillow.com/mvsw/site/" ],
  99. [ "thecarpandtheseagull", "http://thecarpandtheseagull.thecreatorsproject.com/" ],
  100. [ "100000stars", "http://workshop.chromeexperiments.com/stars/" ],
  101. [ "theywilleatyou", "http://theywilleatyou.com/" ],
  102. [ "blast", "http://blast.hellohikimori.com/" ],
  103. [ "hexgl", "http://hexgl.bkcore.com/" ],
  104. [ "armsglobe", "http://workshop.chromeexperiments.com/projects/armsglobe/" ],
  105. [ "carvisualizer", "http://carvisualizer.plus360degrees.com/threejs/" ],
  106. [ "chromeweblab", "http://www.chromeweblab.com/" ],
  107. [ "lightgraffiti", "http://lightgraffiti.littlesun.com/" ],
  108. [ "tntfortwo", "http://www.pajamaclubmusic.com/3d/" ],
  109. [ "chaostoperfection", "http://www.chaostoperfection.com/" ],
  110. [ "livecodelab", "http://www.sketchpatch.net/labs/livecodelabIntro.html" ],
  111. [ "kaiopua", "http://collinhover.github.com/kaiopua/" ],
  112. [ "physijs", "http://chandlerprall.github.com/Physijs/" ],
  113. [ "googlecube", "http://www.playmapscube.com/" ],
  114. [ "triggerrally", "http://triggerrally.com/" ],
  115. [ "zombiesvscow", "http://yagiz.me/zombiesvscow/" ],
  116. [ "threefab", "http://blackjk3.github.com/threefab/" ],
  117. [ "nyancat", "http://dl.dropbox.com/u/6213850/WebGL/nyanCat/nyan.html" ],
  118. [ "threenodes", "http://idflood.github.com/ThreeNodes.js/public/index.html" ],
  119. [ "f50", "http://www.adidas.com/football/uk/pages/f50/" ],
  120. [ "lights", "http://lights.elliegoulding.com/" ],
  121. [ "beanstalk", "http://inear.se/beanstalk/" ],
  122. [ "missioncontrol", "http://superfad.com/missioncontrol/" ],
  123. [ "rome", "http://ro.me/" ],
  124. [ "globe", "http://data-arts.appspot.com/globe" ],
  125. [ "helloracer", "http://helloracer.com/webgl/" ]
  126. ];
  127. var element = document.getElementById( 'featured' );
  128. for ( var i = 0; i < 15; i ++ ) {
  129. var file = files[ i ];
  130. element.innerHTML += '<a href="' + file[ 1 ] + '" target="_blank"><img src="files/projects/' + file[ 0 ] + '.jpg" width="200" height="150"></a>';
  131. }
  132. for ( var i = 15; i < files.length; i ++ ) {
  133. var file = files[ i ];
  134. element.innerHTML += '<a href="' + file[ 1 ] + '" name="extra" style="display:none" target="_blank"><img src="files/projects/' + file[ 0 ] + '.jpg" width="200" height="150"></a>';
  135. }
  136. var button = document.createElement( 'div' );
  137. button.style.display = 'inline-table';
  138. button.style.textAlign = 'center';
  139. button.style.backgroundColor = '#f0f0f0';
  140. button.style.width = '200px';
  141. button.style.height = '150px';
  142. button.style.cursor = 'pointer';
  143. button.addEventListener( 'click', toggle, false );
  144. element.appendChild( button );
  145. var text = document.createElement( 'div' );
  146. text.style.display = 'table-cell';
  147. text.style.verticalAlign = 'middle';
  148. text.style.color = '#2194CE';
  149. text.style.textDecoration = 'underline';
  150. text.textContent = 'more';
  151. button.appendChild( text );
  152. var visible = false;
  153. function toggle() {
  154. visible = !visible;
  155. var elements = document.getElementsByName( 'extra' );
  156. for ( var i = 0; i < elements.length; i ++ ) {
  157. var element = elements[ i ];
  158. element.style.display = visible === true ? 'inline' : 'none';
  159. }
  160. text.textContent = visible === true ? 'less' : 'more';
  161. }
  162. </script>
  163. <h2>webgl examples</h2>
  164. <div id="webgl" class="images"></div>
  165. <script>
  166. var files = [
  167. "webgl_animation_cloth",
  168. "webgl_animation_skinning",
  169. "webgl_animation_skinning_morph",
  170. "webgl_buffergeometry",
  171. "webgl_buffergeometry_lines",
  172. "webgl_buffergeometry_particles",
  173. "webgl_camera",
  174. "webgl_custom_attributes",
  175. "webgl_custom_attributes_lines",
  176. "webgl_custom_attributes_particles",
  177. "webgl_custom_attributes_particles2",
  178. "webgl_custom_attributes_particles3",
  179. "webgl_geometries",
  180. // "webgl_geometries2",
  181. "webgl_geometry_colors",
  182. "webgl_geometry_colors_blender",
  183. "webgl_geometry_convex",
  184. "webgl_geometry_cube",
  185. "webgl_geometry_dynamic",
  186. "webgl_geometry_extrude_shapes",
  187. "webgl_geometry_extrude_splines",
  188. // "webgl_geometry_extrude_uvs2",
  189. "webgl_geometry_hierarchy",
  190. "webgl_geometry_hierarchy2",
  191. "webgl_geometry_large_mesh",
  192. "webgl_geometry_minecraft",
  193. "webgl_geometry_minecraft_ao",
  194. "webgl_geometry_shapes",
  195. "webgl_geometry_subdivision",
  196. "webgl_geometry_terrain",
  197. "webgl_geometry_terrain_fog",
  198. "webgl_geometry_tessellation",
  199. "webgl_geometry_text",
  200. "webgl_hdr",
  201. "webgl_interactive_cubes",
  202. "webgl_interactive_cubes_gpu",
  203. "webgl_interactive_draggablecubes",
  204. "webgl_interactive_voxelpainter",
  205. "webgl_kinect",
  206. "webgl_lensflares",
  207. "webgl_lights_pointlights",
  208. "webgl_lights_pointlights2",
  209. "webgl_lines_colors",
  210. "webgl_lines_cubes",
  211. "webgl_lines_sphere",
  212. "webgl_lines_splines",
  213. "webgl_loader_collada",
  214. "webgl_loader_collada_keyframe",
  215. "webgl_loader_ctm",
  216. "webgl_loader_ctm_materials",
  217. "webgl_loader_json_blender",
  218. "webgl_loader_json_objconverter",
  219. "webgl_loader_obj",
  220. "webgl_loader_scene",
  221. "webgl_loader_scene_blender",
  222. "webgl_loader_utf8",
  223. "webgl_loader_vtk",
  224. "webgl_lod",
  225. "webgl_marching_cubes",
  226. "webgl_materials",
  227. "webgl_materials2",
  228. "webgl_materials_blending",
  229. "webgl_materials_blending_custom",
  230. "webgl_materials_bumpmap",
  231. "webgl_materials_bumpmap_skin",
  232. "webgl_materials_cars",
  233. "webgl_materials_cars_anaglyph",
  234. "webgl_materials_cars_camaro",
  235. "webgl_materials_cars_camaro_crosseyed",
  236. "webgl_materials_cars_parallaxbarrier",
  237. "webgl_materials_cubemap",
  238. "webgl_materials_cubemap_balls_reflection",
  239. "webgl_materials_cubemap_balls_reflection_anaglyph",
  240. "webgl_materials_cubemap_balls_refraction",
  241. "webgl_materials_cubemap_balls_refraction_crosseyed",
  242. "webgl_materials_cubemap_dynamic",
  243. "webgl_materials_cubemap_dynamic2",
  244. "webgl_materials_cubemap_escher",
  245. "webgl_materials_cubemap_refraction",
  246. "webgl_materials_grass",
  247. "webgl_materials_normalmap",
  248. "webgl_materials_normalmap2",
  249. "webgl_materials_shaders",
  250. "webgl_materials_shaders_fresnel",
  251. "webgl_materials_skin",
  252. "webgl_materials_texture_anisotropy",
  253. "webgl_materials_texture_filters",
  254. "webgl_materials_video",
  255. "webgl_materials_wireframe",
  256. "webgl_morphnormals",
  257. "webgl_morphtargets",
  258. "webgl_morphtargets_horse",
  259. "webgl_morphtargets_md2",
  260. "webgl_morphtargets_md2_control",
  261. "webgl_multiple_canvases_circle",
  262. "webgl_multiple_canvases_complex",
  263. "webgl_multiple_canvases_grid",
  264. "webgl_multiple_views",
  265. "webgl_panorama_equirectangular",
  266. "webgl_particles_billboards",
  267. "webgl_particles_billboards_colors",
  268. "webgl_particles_dynamic",
  269. "webgl_particles_random",
  270. "webgl_particles_shapes",
  271. "webgl_particles_sprites",
  272. "webgl_performance",
  273. "webgl_performance_doublesided",
  274. "webgl_performance_static",
  275. "webgl_postprocessing",
  276. "webgl_postprocessing_dof",
  277. "webgl_postprocessing_godrays",
  278. "webgl_ribbons",
  279. "webgl_rtt",
  280. "webgl_sandbox",
  281. "webgl_shader",
  282. "webgl_shader2",
  283. "webgl_shader_lava",
  284. "webgl_shading_physical",
  285. "webgl_shadowmap",
  286. "webgl_shadowmap_performance",
  287. "webgl_sprites",
  288. "webgl_terrain_dynamic",
  289. "webgl_test_memory",
  290. "webgl_test_memory2",
  291. "webgl_trails"
  292. ];
  293. var element = document.getElementById( 'webgl' );
  294. for ( var i = 0; i < files.length; i ++ ) {
  295. var file = files[ i ];
  296. element.innerHTML += '<a href="examples/' + file + '.html" target="_blank"><img src="files/examples/' + file + '.jpg" width="200" height="150"></a>';
  297. }
  298. </script>
  299. <h2>webgl deferred examples</h2>
  300. <div id="deferred" class="images"></div>
  301. <script>
  302. var files = [
  303. "webgldeferred_animation",
  304. "webgldeferred_arealights",
  305. "webgldeferred_pointlights"
  306. ];
  307. var element = document.getElementById( 'deferred' );
  308. for ( var i = 0; i < files.length; i ++ ) {
  309. var file = files[ i ];
  310. element.innerHTML += '<a href="examples/' + file + '.html" target="_blank"><img src="files/examples/' + file + '.jpg" width="200" height="150"></a>';
  311. }
  312. </script>
  313. <h2>css3d examples</h2>
  314. <div id="css3d" class="images"></div>
  315. <script>
  316. var files = [
  317. "css3d_molecules",
  318. "css3d_panorama",
  319. "css3d_periodictable",
  320. "css3d_sandbox",
  321. "css3d_youtube"
  322. ];
  323. var element = document.getElementById( 'css3d' );
  324. for ( var i = 0; i < files.length; i ++ ) {
  325. var file = files[ i ];
  326. element.innerHTML += '<a href="examples/' + file + '.html" target="_blank"><img src="files/examples/' + file + '.jpg" width="200" height="150"></a>';
  327. }
  328. </script>
  329. <h2>canvas examples</h2>
  330. <div id="canvas" class="images"></div>
  331. <script>
  332. var files = [
  333. "canvas_ascii_effect",
  334. "canvas_camera_orthographic",
  335. "canvas_camera_orthographic2",
  336. "canvas_geometry_birds",
  337. "canvas_geometry_cube",
  338. "canvas_geometry_earth",
  339. "canvas_geometry_hierarchy",
  340. "canvas_geometry_panorama",
  341. "canvas_geometry_panorama_fisheye",
  342. "canvas_geometry_terrain",
  343. "canvas_geometry_text",
  344. "canvas_interactive_cubes",
  345. "canvas_interactive_cubes_tween",
  346. "canvas_interactive_particles",
  347. "canvas_interactive_voxelpainter",
  348. "canvas_lights_pointlights",
  349. "canvas_lights_pointlights_smooth",
  350. "canvas_lines",
  351. "canvas_lines_sphere",
  352. "canvas_materials",
  353. "canvas_materials_depth",
  354. "canvas_materials_normal",
  355. "canvas_materials_reflection",
  356. "canvas_materials_video",
  357. "canvas_particles_floor",
  358. "canvas_particles_random",
  359. "canvas_particles_shapes",
  360. "canvas_particles_sprites",
  361. "canvas_particles_waves",
  362. "canvas_performance",
  363. "canvas_sandbox"
  364. ];
  365. var element = document.getElementById( 'canvas' );
  366. for ( var i = 0; i < files.length; i ++ ) {
  367. var file = files[ i ];
  368. element.innerHTML += '<a href="examples/' + file + '.html" target="_blank"><img src="files/examples/' + file + '.jpg" width="200" height="150"></a>';
  369. }
  370. </script>
  371. <h2>software examples</h2>
  372. <div id="software" class="images"></div>
  373. <script>
  374. var files = [
  375. "software_sandbox"
  376. ];
  377. var element = document.getElementById( 'software' );
  378. for ( var i = 0; i < files.length; i ++ ) {
  379. var file = files[ i ];
  380. element.innerHTML += '<a href="examples/' + file + '.html" target="_blank"><img src="files/examples/' + file + '.jpg" width="200" height="150"></a>';
  381. }
  382. </script>
  383. <h2>misc examples</h2>
  384. <div id="misc" class="images"></div>
  385. <script>
  386. var files = [
  387. "misc_controls_fly",
  388. "misc_controls_path",
  389. "misc_controls_orbit",
  390. "misc_controls_trackball",
  391. "misc_controls_pointerlock",
  392. "misc_lights_test",
  393. "misc_lookat",
  394. "misc_sound",
  395. "misc_ubiquity_test"
  396. ];
  397. var element = document.getElementById( 'misc' );
  398. for ( var i = 0; i < files.length; i ++ ) {
  399. var file = files[ i ];
  400. element.innerHTML += '<a href="examples/' + file + '.html" target="_blank"><img src="files/examples/' + file + '.jpg" width="200" height="150"></a>';
  401. }
  402. </script>
  403. </body>
  404. </html>