index.html 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Babylon.js</title>
  5. <script>
  6. function writeViewPort() {
  7. var ua = navigator.userAgent;
  8. if (ua.indexOf("Android") >= 0 && ua.indexOf("AppleWebKit") >= 0) {
  9. var webkitVersion = parseFloat(ua.slice(ua.indexOf("AppleWebKit") + 12));
  10. // targets android browser, not chrome browser (http://jimbergman.net/webkit-version-in-android-version/)
  11. if (webkitVersion < 535) {
  12. document.write('<meta name="viewport" content="initial-scale=1" />');
  13. }
  14. }
  15. }
  16. writeViewPort();
  17. </script>
  18. <script>
  19. (function (i, s, o, g, r, a, m) {
  20. i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
  21. (i[r].q = i[r].q || []).push(arguments)
  22. }, i[r].l = 1 * new Date(); a = s.createElement(o),
  23. m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
  24. })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
  25. ga('create', 'UA-41767310-1', 'babylonjs.com');
  26. ga('send', 'pageview');
  27. </script>
  28. <link href="index.css" rel="stylesheet" />
  29. <script src="hand.minified-1.2.js"></script>
  30. <script src="cannon.js"></script>
  31. <!--<script src="Babylon/Tools/babylon.math.js"></script>
  32. <script src="Babylon/Tools/babylon.database.js"></script>
  33. <script src="Babylon/Tools/babylon.tools.js"></script>
  34. <script src="Babylon/babylon.engine.js"></script>
  35. <script src="Babylon/babylon.node.js"></script>
  36. <script src="Babylon/Tools/babylon.filesInput.js"></script>
  37. <script src="Babylon/Collisions/babylon.pickingInfo.js"></script>
  38. <script src="Babylon/Culling/babylon.boundingSphere.js"></script>
  39. <script src="Babylon/Culling/babylon.boundingBox.js"></script>
  40. <script src="Babylon/Culling/babylon.boundingInfo.js"></script>
  41. <script src="Babylon/Lights/babylon.light.js"></script>
  42. <script src="Babylon/Lights/babylon.pointLight.js"></script>
  43. <script src="Babylon/Lights/babylon.spotLight.js"></script>
  44. <script src="Babylon/Lights/babylon.hemisphericLight.js"></script>
  45. <script src="Babylon/Lights/babylon.directionalLight.js"></script>
  46. <script src="Babylon/Lights/Shadows/babylon.shadowGenerator.js"></script>
  47. <script src="Babylon/Collisions/babylon.collider.js"></script>
  48. <script src="Babylon/Cameras/babylon.camera.js"></script>
  49. <script src="Babylon/Cameras/babylon.freeCamera.js"></script>
  50. <script src="Babylon/Cameras/babylon.touchCamera.js"></script>
  51. <script src="Babylon/Cameras/babylon.arcRotateCamera.js"></script>
  52. <script src="Babylon/Cameras/babylon.deviceOrientationCamera.js"></script>
  53. <script src="Babylon/Rendering/babylon.renderingManager.js"></script>
  54. <script src="Babylon/Rendering/babylon.renderingGroup.js"></script>
  55. <script src="Babylon/babylon.scene.js"></script>
  56. <script src="Babylon/Mesh/babylon.vertexBuffer.js"></script>
  57. <script src="Babylon/Mesh/babylon.mesh.js"></script>
  58. <script src="Babylon/Mesh/babylon.subMesh.js"></script>
  59. <script src="Babylon/Materials/textures/babylon.baseTexture.js"></script>
  60. <script src="Babylon/Materials/textures/babylon.texture.js"></script>
  61. <script src="Babylon/Materials/textures/babylon.cubeTexture.js"></script>
  62. <script src="Babylon/Materials/textures/babylon.renderTargetTexture.js"></script>
  63. <script src="Babylon/Materials/textures/babylon.mirrorTexture.js"></script>
  64. <script src="Babylon/Materials/textures/babylon.dynamicTexture.js"></script>
  65. <script src="Babylon/Materials/textures/babylon.videoTexture.js"></script>
  66. <script src="Babylon/Materials/babylon.effect.js"></script>
  67. <script src="Babylon/Materials/babylon.material.js"></script>
  68. <script src="Babylon/Materials/babylon.standardMaterial.js"></script>
  69. <script src="Babylon/Materials/babylon.multiMaterial.js"></script>
  70. <script src="Babylon/Tools/babylon.sceneLoader.js"></script>
  71. <script src="Babylon/Tools/babylon.database.js"></script>
  72. <script src="Babylon/Sprites/babylon.spriteManager.js"></script>
  73. <script src="Babylon/Sprites/babylon.sprite.js"></script>
  74. <script src="Babylon/Layer/babylon.layer.js"></script>
  75. <script src="Babylon/Particles/babylon.particle.js"></script>
  76. <script src="Babylon/Particles/babylon.particleSystem.js"></script>
  77. <script src="Babylon/Animations/babylon.animation.js"></script>
  78. <script src="Babylon/Animations/babylon.animatable.js"></script>
  79. <script src="Babylon/Culling/Octrees/babylon.octree.js"></script>
  80. <script src="Babylon/Culling/Octrees/babylon.octreeBlock.js"></script>
  81. <script src="Babylon/Bones/babylon.bone.js"></script>
  82. <script src="Babylon/Bones/babylon.skeleton.js"></script>
  83. <script src="Babylon/Bones/babylon.skeleton.js"></script>
  84. <script src="Babylon/PostProcess/babylon.postProcess.js"></script>
  85. <script src="Babylon/PostProcess/babylon.postProcessManager.js"></script>
  86. <script src="Babylon/PostProcess/babylon.passPostProcess.js"></script>
  87. <script src="Babylon/PostProcess/babylon.blurPostProcess.js"></script>
  88. <script src="Babylon/PostProcess/babylon.refractionPostProcess.js"></script>
  89. <script src="Babylon/PostProcess/babylon.blackAndWhitePostProcess.js"></script>
  90. <script src="Babylon/PostProcess/babylon.convolutionPostProcess.js"></script>
  91. <script src="Babylon/PostProcess/babylon.fxaaPostProcess.js"></script>
  92. <script src="Babylon/LensFlare/babylon.lensFlare.js"></script>
  93. <script src="Babylon/LensFlare/babylon.lensFlareSystem.js"></script>
  94. <script src="Babylon/Physics/babylon.physicsEngine.js"></script>-->
  95. <script src="babylon.js"></script>
  96. <script src="Scenes/Customs/test.js"></script>
  97. <script src="Scenes/Customs/lights_test.js"></script>
  98. <script src="Scenes/Customs/bump_test.js"></script>
  99. <script src="Scenes/Customs/fog_test.js"></script>
  100. <script src="Scenes/Customs/multimat.js"></script>
  101. <script src="Scenes/Customs/heightMap_test.js"></script>
  102. <script src="Scenes/Customs/shadows.js"></script>
  103. <script src="Scenes/Customs/charting.js"></script>
  104. <script src="Scenes/Customs/octree.js"></script>
  105. <script src="Scenes/Customs/bones.js"></script>
  106. <script src="Scenes/Customs/postprocessBloom.js"></script>
  107. <script src="Scenes/Customs/postprocessRefraction.js"></script>
  108. <script src="Scenes/Customs/lensFlares.js"></script>
  109. <script src="Scenes/Customs/physics.js"></script>
  110. <script src="index.js"></script>
  111. </head>
  112. <body>
  113. <div id="rootDiv">
  114. <div id="screen1">
  115. <div id="menuPanel">
  116. <br />
  117. <div id="itemsContainer">
  118. <div class="header">
  119. DEMOS
  120. </div>
  121. <div id="items"></div>
  122. <div class="header">
  123. <br />
  124. FEATURES TESTS
  125. </div>
  126. <div id="testItems"></div>
  127. <div class="header">
  128. <br />
  129. THIRD-PARTY
  130. </div>
  131. <div id="3rdItems"></div>
  132. </div>
  133. </div>
  134. <img id="back" src="Assets/BandeauEmbleme.png" />
  135. <img id="mainTitle" src="Assets/Logo.png" />
  136. <div id="gradient"></div>
  137. <div id="title0">WEBGL.</div>
  138. <div id="title1">SIMPLE.</div>
  139. <div id="title2">POWERFUL.</div>
  140. <div id="downloadText">DOWNLOAD</div>
  141. <a href="https://github.com/BabylonJS/Babylon.js">
  142. <img id="downloadLink" src="Assets/BtnDownload.png" class="button" />
  143. </a>
  144. <div id="aboutText">ABOUT</div>
  145. <img id="aboutLink" src="Assets/BtnAbout.png" class="button" />
  146. <div id="aboutPanel">
  147. <div id="aboutParagraph">
  148. <h1>Credits</h1>
  149. <p>
  150. <i>3D engine:</i> David <b>CATUHE</b> (<a href="http://www.twitter.com/@deltakosh">@deltakosh</a>)<br />
  151. <i>Scenes:</i> Michel <b>ROUSSEAU</b> (<a href="http://www.twitter.com/@rousseau_michel">@rousseau_michel</a>)<br />
  152. <i>Game FX:</i> Pierre <b>LAGARDE</b> (<a href="http://www.twitter.com/@pierlag">@pierlag</a>)<br />
  153. <i>Game FX:</i> David <b>ROUSSET</b> (<a href="http://www.twitter.com/@davrous">@davrous</a>)<br />
  154. <br />
  155. <i>Train scene:</i> Romuald <b>ROUHIER</b> and <a href="http://www.progiss.com/">Progiss</a><br />
  156. </p>
  157. </div>
  158. <div id="aboutParagraph">
  159. <h1>About babylon.js</h1>
  160. Babylon.js is a 3D engine based on <b>webgl</b> and <b>javascript</b>.
  161. It supports the following features:
  162. </div>
  163. <div id="features">
  164. <div id="engineFeatures">
  165. <ul>
  166. <li>Complete scene graph with lights, cameras, materials and meshes</li>
  167. <li><b>Collisions engine</b></li>
  168. <li><b>Physics engine (thanks to cannon.js)</b></li>
  169. <li>Scene picking</li>
  170. <li>Antialiasing</li>
  171. <li><b>Animations engine</b></li>
  172. <li><b>Particles Systems</b></li>
  173. <li>Sprites and 2D layers</li>
  174. <li>
  175. Optimizations engines:
  176. <ul>
  177. <li>Frustum clipping</li>
  178. <li>Sub-meshes clipping</li>
  179. <li>Hardware scaling</li>
  180. <li>Selection octrees</li>
  181. <li><b>Offline mode (Assets are saved locally to prevent reloading them)</b></li>
  182. <li><b>Incremental loading</b></li>
  183. </ul>
  184. </li>
  185. <li>
  186. Standard material is a <b>per pixel</b> material that supports:
  187. <ul>
  188. <li>Diffuse lightning and texture</li>
  189. <li>Ambient lightning and texture</li>
  190. <li>Specular lightning</li>
  191. <li>Opacity texture</li>
  192. <li>Reflection texture (Spheric, planar, cubic and projection)</li>
  193. <li><b>Mirror texture</b></li>
  194. <li><b>Emissive texture</b></li>
  195. <li><b>Specular texture</b></li>
  196. <li><b>Bump texture</b></li>
  197. <li>Up to 4 lights (points, directionals, spots, hemispherics)</li>
  198. <li>Custom materials</li>
  199. <li>Skybox</li>
  200. <li>Vertex color</li>
  201. <li>4 bones per vertex</li>
  202. </ul>
  203. </li>
  204. <li>
  205. Special FX
  206. <ul>
  207. <li>Fog</li>
  208. <li>Alpha blending</li>
  209. <li>Alpha testing</li>
  210. <li>Billboarding</li>
  211. <li>Fullscreen mode</li>
  212. <li>Shadow Maps and Variance Shadow Maps</li>
  213. <li>Rendering layers</li>
  214. <li><b>Post-processes (blur, refraction, black'n'white, fxaa, customs...)</b></li>
  215. <li><b>Lens flares</b></li>
  216. <li><b>Multi-views</b></li>
  217. </ul>
  218. </li>
  219. <li>
  220. Textures:
  221. <ul>
  222. <li>Render target textures</li>
  223. <li>Dynamic textures (canvas)</li>
  224. <li>Video textures</li>
  225. </ul>
  226. </li>
  227. <li>
  228. Cameras:
  229. <ul>
  230. <li>Arc rotate camera</li>
  231. <li>Free camera</li>
  232. <li><b>Touch camera</b></li>
  233. </ul>
  234. </li>
  235. <li>
  236. Meshes:
  237. <ul>
  238. <li>Mesh cloning</li>
  239. <li>Dynamic meshes</li>
  240. <li><b>Height maps</b></li>
  241. <li>Bones</li>
  242. </ul>
  243. </li>
  244. <li>
  245. Import:
  246. <ul>
  247. <li>Babylon scene file can be converted from <i>.OBJ</i>, <i>.FBX</i>, <i>.MXB</i></li>
  248. <li>Exporter for Blender</li>
  249. <li>Support for drag'n'drop</li>
  250. </ul>
  251. </li>
  252. </ul>
  253. </div>
  254. </div>
  255. </div>
  256. <div id="footer">
  257. <a class="footerLink" href="http://www.babylonjs.com/sandbox">sandbox</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  258. <a class="footerLink" href="http://www.html5gamedevs.com/forum/16-babylonjs/">forum</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  259. <a class="footerLink" href="https://github.com/BabylonJS/Babylon.js/wiki" >wiki</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  260. <a class="footerLink" href="https://github.com/BabylonJS/Babylon.js">github</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  261. <a class="footerLink" href="http://www.sokrate.fr/documentation/babylonjs/index.html">documentation</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  262. </div>
  263. </div>
  264. <div id="opacityMask" class="hidden"></div>
  265. <div id="renderZone" class="movedRight">
  266. <canvas id="renderCanvas"></canvas>
  267. <div id="fps"></div>
  268. <div id="stats"></div>
  269. <div id="status"></div>
  270. <div id="controlPanel">
  271. <div id="controlsZone">
  272. <div id="leftPart">
  273. <p>
  274. <label><input type="checkbox" id="wireframe" />Wireframe</label>
  275. </p>
  276. <p>
  277. <label><input type="checkbox" id="enableStats" checked="true" />Statistics</label>
  278. </p>
  279. <p>
  280. <label><input type="checkbox" id="collisions" checked="true" />Collisions</label>
  281. </p>
  282. <p>
  283. <label><input type="checkbox" id="postProcess" checked="true" />Post-processes</label>
  284. </p>
  285. <p>
  286. <label><input type="checkbox" id="mirrors" checked="true" />Mirrors</label>
  287. </p>
  288. </div>
  289. <div id="rightPart">
  290. <p>
  291. Hardware scaling:
  292. <select id="hardwareScalingLevel">
  293. <option>1</option>
  294. <option>2</option>
  295. <option>3</option>
  296. <option>4</option>
  297. </select>
  298. </p>
  299. <p id="extensions"></p>
  300. <p>
  301. <button id="fullscreen">Switch fullscreen mode</button>
  302. </p>
  303. </div>
  304. </div>
  305. <div class="tag">Control panel</div>
  306. <div class="tag" id="clickableTag"></div>
  307. </div>
  308. <div id="cameraPanel">
  309. <div id="cameraControlsZone">
  310. Active camera:<br>
  311. <select id="camerasList"></select>
  312. <p>
  313. Change control method:
  314. <button class="buttonControlPanel" id="touchCamera">
  315. <img src="Assets/CamTouchOff.png" class="buttonImg"/><div style="margin-top: 8px">Touch camera</div>
  316. </button>
  317. <button class="buttonControlPanel" id="deviceOrientationCamera">
  318. <img src="Assets/CamDeviceOff.png" class="buttonImg" />Device orientation camera
  319. </button>
  320. </p>
  321. <p>
  322. Post-processes:
  323. <button class="smallButtonControlPanel" id="toggleFxaa">Toggle FXAA (antialiasing)</button>
  324. <button class="smallButtonControlPanel" id="toggleFsaa4">Toggle FSAA 4X (antialiasing)</button>
  325. <button class="smallButtonControlPanel" id="toggleBandW">Toggle Black and white</button>
  326. <button class="smallButtonControlPanel" id="toggleSepia">Toggle Sepia</button>
  327. </p>
  328. </div>
  329. <div class="cameraTag"><img src="Assets/camera.png" /></div>
  330. <div class="cameraTag" id="cameraClickableTag"></div>
  331. </div>
  332. </div>
  333. <div id="notSupported" class="hidden">Sorry but your browser does not support WebGL...</div>
  334. <div id="loadingBack" class="loadingBack"></div>
  335. <div id="loadingText" class="loadingText"></div>
  336. </div>
  337. </body>
  338. </html>