index.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380
  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/Math/babylon.math.js"></script>
  32. <script src="Babylon/Tools/babylon.database.js"></script>
  33. <script src="Babylon/Tools/babylon.tools.dds.js"></script>
  34. <script src="Babylon/Tools/babylon.tools.js"></script>
  35. <script src="Babylon/babylon.engine.js"></script>
  36. <script src="Babylon/babylon.node.js"></script>
  37. <script src="Babylon/Tools/babylon.filesInput.js"></script>
  38. <script src="Babylon/Collisions/babylon.pickingInfo.js"></script>
  39. <script src="Babylon/Culling/babylon.boundingSphere.js"></script>
  40. <script src="Babylon/Culling/babylon.boundingBox.js"></script>
  41. <script src="Babylon/Culling/babylon.boundingInfo.js"></script>
  42. <script src="Babylon/Lights/babylon.light.js"></script>
  43. <script src="Babylon/Lights/babylon.pointLight.js"></script>
  44. <script src="Babylon/Lights/babylon.spotLight.js"></script>
  45. <script src="Babylon/Lights/babylon.hemisphericLight.js"></script>
  46. <script src="Babylon/Lights/babylon.directionalLight.js"></script>
  47. <script src="Babylon/Lights/Shadows/babylon.shadowGenerator.js"></script>
  48. <script src="Babylon/Collisions/babylon.collider.js"></script>
  49. <script src="Babylon/Cameras/Controllers/babylon.inputController.js"></script>
  50. <script src="Babylon/Cameras/babylon.camera.js"></script>
  51. <script src="Babylon/Cameras/babylon.freeCamera.js"></script>
  52. <script src="Babylon/Cameras/babylon.touchCamera.js"></script>
  53. <script src="Babylon/Cameras/babylon.arcRotateCamera.js"></script>
  54. <script src="Babylon/Cameras/babylon.deviceOrientationCamera.js"></script>
  55. <script src="Babylon/Rendering/babylon.renderingManager.js"></script>
  56. <script src="Babylon/Rendering/babylon.renderingGroup.js"></script>
  57. <script src="Babylon/babylon.scene.js"></script>
  58. <script src="Babylon/Mesh/babylon.vertexBuffer.js"></script>
  59. <script src="Babylon/Mesh/babylon.mesh.js"></script>
  60. <script src="Babylon/Mesh/babylon.subMesh.js"></script>
  61. <script src="Babylon/Materials/textures/babylon.baseTexture.js"></script>
  62. <script src="Babylon/Materials/textures/babylon.texture.js"></script>
  63. <script src="Babylon/Materials/textures/babylon.cubeTexture.js"></script>
  64. <script src="Babylon/Materials/textures/babylon.renderTargetTexture.js"></script>
  65. <script src="Babylon/Materials/textures/babylon.mirrorTexture.js"></script>
  66. <script src="Babylon/Materials/textures/babylon.dynamicTexture.js"></script>
  67. <script src="Babylon/Materials/textures/babylon.videoTexture.js"></script>
  68. <script src="Babylon/Materials/babylon.effect.js"></script>
  69. <script src="Babylon/Materials/babylon.material.js"></script>
  70. <script src="Babylon/Materials/babylon.standardMaterial.js"></script>
  71. <script src="Babylon/Materials/babylon.multiMaterial.js"></script>
  72. <script src="Babylon/Loading/babylon.sceneLoader.js"></script>
  73. <script src="Babylon/Loading/Plugins/babylon.babylonFileLoader.js"></script>
  74. <script src="Babylon/Tools/babylon.database.js"></script>
  75. <script src="Babylon/Sprites/babylon.spriteManager.js"></script>
  76. <script src="Babylon/Sprites/babylon.sprite.js"></script>
  77. <script src="Babylon/Layer/babylon.layer.js"></script>
  78. <script src="Babylon/Particles/babylon.particle.js"></script>
  79. <script src="Babylon/Particles/babylon.particleSystem.js"></script>
  80. <script src="Babylon/Animations/babylon.animation.js"></script>
  81. <script src="Babylon/Animations/babylon.animatable.js"></script>
  82. <script src="Babylon/Culling/Octrees/babylon.octree.js"></script>
  83. <script src="Babylon/Culling/Octrees/babylon.octreeBlock.js"></script>
  84. <script src="Babylon/Bones/babylon.bone.js"></script>
  85. <script src="Babylon/Bones/babylon.skeleton.js"></script>
  86. <script src="Babylon/Bones/babylon.skeleton.js"></script>
  87. <script src="Babylon/PostProcess/babylon.postProcess.js"></script>
  88. <script src="Babylon/PostProcess/babylon.postProcessManager.js"></script>
  89. <script src="Babylon/PostProcess/babylon.passPostProcess.js"></script>
  90. <script src="Babylon/PostProcess/babylon.blurPostProcess.js"></script>
  91. <script src="Babylon/PostProcess/babylon.refractionPostProcess.js"></script>
  92. <script src="Babylon/PostProcess/babylon.blackAndWhitePostProcess.js"></script>
  93. <script src="Babylon/PostProcess/babylon.convolutionPostProcess.js"></script>
  94. <script src="Babylon/PostProcess/babylon.filterPostProcess.js"></script>
  95. <script src="Babylon/PostProcess/babylon.fxaaPostProcess.js"></script>
  96. <script src="Babylon/LensFlare/babylon.lensFlare.js"></script>
  97. <script src="Babylon/LensFlare/babylon.lensFlareSystem.js"></script>
  98. <script src="Babylon/Physics/babylon.physicsEngine.js"></script>
  99. <script src="Babylon/Tools/babylon.sceneSerializer.js"></script>
  100. <script src="Babylon/Math/babylon.axis.js"></script>
  101. <script src="Babylon/Mesh/babylon.csg.js"></script>
  102. <script src="Babylon/PostProcess/babylon.oculusDistortionCorrectionPostProcess.js"></script>
  103. <script src="Babylon/Tools/babylon.virtualJoystick.js"></script>
  104. <script src="Babylon/Cameras/Controllers/babylon.oculusController.js"></script>
  105. <script src="Babylon/Cameras/babylon.oculusOrientedCamera.js"></script>
  106. <script src="Babylon/Cameras/babylon.virtualJoysticksCamera.js"></script>
  107. <script src="Babylon/Cameras/Controllers/babylon.keyboardMoveController.js"></script>
  108. <script src="Babylon/Cameras/Controllers/babylon.inputCollisionFilter.js"></script>
  109. <script src="Babylon/Cameras/Controllers/babylon.gravityInputController.js"></script>
  110. <script src="Babylon/Cameras/Controllers/babylon.globalAxisFactorsFilter.js"></script>-->
  111. <script src=" babylon.js"></script>
  112. <script src="Scenes/Customs/test.js"></script>
  113. <script src="Scenes/Customs/lights_test.js"></script>
  114. <script src="Scenes/Customs/bump_test.js"></script>
  115. <script src="Scenes/Customs/fog_test.js"></script>
  116. <script src="Scenes/Customs/multimat.js"></script>
  117. <script src="Scenes/Customs/heightMap_test.js"></script>
  118. <script src="Scenes/Customs/shadows.js"></script>
  119. <script src="Scenes/Customs/charting.js"></script>
  120. <script src="Scenes/Customs/octree.js"></script>
  121. <script src="Scenes/Customs/bones.js"></script>
  122. <script src="Scenes/Customs/postprocessBloom.js"></script>
  123. <script src="Scenes/Customs/postprocessRefraction.js"></script>
  124. <script src="Scenes/Customs/lensFlares.js"></script>
  125. <script src="Scenes/Customs/physics.js"></script>
  126. <script src="Scenes/Customs/cellShading.js"></script>
  127. <script src="Scenes/Customs/csg.js"></script>
  128. <script src="Scenes/Customs/postprocessConvolution.js"></script>
  129. <script src="index.js"></script>
  130. </head>
  131. <body>
  132. <div id="rootDiv">
  133. <div id="screen1">
  134. <div id="menuPanel">
  135. <br />
  136. <div id="itemsContainer">
  137. <div class="header">
  138. DEMOS
  139. </div>
  140. <div id="items"></div>
  141. <div class="header">
  142. <br />
  143. FEATURES TESTS
  144. </div>
  145. <div id="testItems"></div>
  146. <div class="header">
  147. <br />
  148. THIRD-PARTY
  149. </div>
  150. <div id="3rdItems"></div>
  151. <div class="header">
  152. <br />
  153. OCULUS RIFT
  154. </div>
  155. <div class="warning">You must install <a href="OculusVR Driver/OculusVR Driver.zip">this driver</a> and use IE11+ to see these demos</div><br />
  156. <div id="oculusDemos"></div>
  157. </div>
  158. </div>
  159. <img id="back" src="Assets/BandeauEmbleme.png" />
  160. <img id="mainTitle" src="Assets/Logo.png" />
  161. <div id="gradient"></div>
  162. <div id="title0">WEBGL.</div>
  163. <div id="title1">SIMPLE.</div>
  164. <div id="title2">POWERFUL.</div>
  165. <div id="downloadText">DOWNLOAD</div>
  166. <a href="https://github.com/BabylonJS/Babylon.js">
  167. <img id="downloadLink" src="Assets/BtnDownload.png" class="button" />
  168. </a>
  169. <div id="aboutText">ABOUT</div>
  170. <img id="aboutLink" src="Assets/BtnAbout.png" class="button" />
  171. <div id="aboutPanel">
  172. <div id="aboutParagraph">
  173. <h1>Credits</h1>
  174. <p>
  175. <i>3D engine:</i> David <b>CATUHE</b> (<a href="http://www.twitter.com/@deltakosh">@deltakosh</a>)<br />
  176. <i>Scenes:</i> Michel <b>ROUSSEAU</b> (<a href="http://www.twitter.com/@rousseau_michel">@rousseau_michel</a>)<br />
  177. <i>Game FX:</i> Pierre <b>LAGARDE</b> (<a href="http://www.twitter.com/@pierlag">@pierlag</a>)<br />
  178. <i>Game FX:</i> David <b>ROUSSET</b> (<a href="http://www.twitter.com/@davrous">@davrous</a>)<br />
  179. <br />
  180. <i>Hill Valley scene:</i> Camille <b>JOLY</b> and <a href="http://www.enozone.com/">Enozone</a><br />
  181. <i>Train scene:</i> Romuald <b>ROUHIER</b> and <a href="http://www.progiss.com/">Progiss</a><br />
  182. </p>
  183. </div>
  184. <div id="aboutParagraph">
  185. <h1>About babylon.js</h1>
  186. Babylon.js is a 3D engine based on <b>webgl</b> and <b>javascript</b>.
  187. It supports the following features:
  188. </div>
  189. <div id="features">
  190. <div id="engineFeatures">
  191. <ul>
  192. <li>Complete scene graph with lights, cameras, materials and meshes</li>
  193. <li><b>Collisions engine</b></li>
  194. <li><b>Physics engine (thanks to cannon.js)</b></li>
  195. <li>Scene picking</li>
  196. <li>Antialiasing</li>
  197. <li><b>Animations engine</b></li>
  198. <li><b>Particles Systems</b></li>
  199. <li>Sprites and 2D layers</li>
  200. <li>
  201. Optimizations engines:
  202. <ul>
  203. <li>Frustum clipping</li>
  204. <li>Sub-meshes clipping</li>
  205. <li>Hardware scaling</li>
  206. <li>Selection octrees</li>
  207. <li><b>Offline mode (Assets are saved locally to prevent reloading them)</b></li>
  208. <li><b>Incremental loading</b></li>
  209. </ul>
  210. </li>
  211. <li>
  212. Standard material is a <b>per pixel</b> material that supports:
  213. <ul>
  214. <li>Diffuse lightning and texture</li>
  215. <li>Ambient lightning and texture</li>
  216. <li>Specular lightning</li>
  217. <li>Opacity texture</li>
  218. <li>Reflection texture (Spheric, planar, cubic and projection)</li>
  219. <li><b>Mirror texture</b></li>
  220. <li><b>Emissive texture</b></li>
  221. <li><b>Specular texture</b></li>
  222. <li><b>Bump texture</b></li>
  223. <li>Up to 4 lights (points, directionals, spots, hemispherics)</li>
  224. <li>Custom materials</li>
  225. <li>Skybox</li>
  226. <li>Vertex color</li>
  227. <li>4 bones per vertex</li>
  228. </ul>
  229. </li>
  230. <li>
  231. Special FX
  232. <ul>
  233. <li>Fog</li>
  234. <li>Alpha blending</li>
  235. <li>Alpha testing</li>
  236. <li>Billboarding</li>
  237. <li>Fullscreen mode</li>
  238. <li>Shadow Maps and Variance Shadow Maps</li>
  239. <li>Rendering layers</li>
  240. <li><b>Post-processes (blur, refraction, black'n'white, fxaa, customs...)</b></li>
  241. <li><b>Lens flares</b></li>
  242. <li><b>Multi-views</b></li>
  243. </ul>
  244. </li>
  245. <li>
  246. Textures:
  247. <ul>
  248. <li>Render target textures</li>
  249. <li>Dynamic textures (canvas)</li>
  250. <li>Video textures</li>
  251. <li>Compressed (DDS) textures</li>
  252. </ul>
  253. </li>
  254. <li>
  255. Cameras:
  256. <ul>
  257. <li>Arc rotate camera</li>
  258. <li>Free camera</li>
  259. <li>Touch camera</li>
  260. <li>
  261. <b>Virtual Joysticks camera</b>
  262. </li>
  263. <li><b>Oculus Rift camera</b></li>
  264. </ul>
  265. </li>
  266. <li>
  267. Meshes:
  268. <ul>
  269. <li>Mesh cloning</li>
  270. <li>Dynamic meshes</li>
  271. <li><b>Height maps</b></li>
  272. <li>Bones</li>
  273. <li>Constructive solid geometries</li>
  274. </ul>
  275. </li>
  276. <li>
  277. Import:
  278. <ul>
  279. <li>Babylon scene file can be converted from <i>.OBJ</i>, <i>.FBX</i>, <i>.MXB</i></li>
  280. <li>Exporter for Blender</li>
  281. <li>Exporter for Cheetah3d</li>
  282. <li>Support for drag'n'drop</li>
  283. </ul>
  284. </li>
  285. </ul>
  286. </div>
  287. </div>
  288. </div>
  289. <div id="footer">
  290. <a class="footerLink" href="http://www.babylonjs.com/sandbox">sandbox</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  291. <a class="footerLink" href="http://www.html5gamedevs.com/forum/16-babylonjs/">forum</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  292. <a class="footerLink" href="https://github.com/BabylonJS/Babylon.js/wiki">wiki</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  293. <a class="footerLink" href="https://github.com/BabylonJS/Babylon.js">github</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  294. <a class="footerLink" href="http://www.sokrate.fr/documentation/babylonjs/index.html">documentation</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  295. </div>
  296. </div>
  297. <div id="opacityMask" class="hidden"></div>
  298. <div id="renderZone" class="movedRight">
  299. <canvas id="renderCanvas"></canvas>
  300. <div id="fps"></div>
  301. <div id="stats"></div>
  302. <div id="status"></div>
  303. <div id="controlPanel">
  304. <div id="controlsZone">
  305. <div id="leftPart">
  306. <p>
  307. <label><input type="checkbox" id="wireframe" />Wireframe</label>
  308. </p>
  309. <p>
  310. <label><input type="checkbox" id="enableStats" checked="true" />Statistics</label>
  311. </p>
  312. <p>
  313. <label><input type="checkbox" id="collisions" checked="true" />Collisions</label>
  314. </p>
  315. <p>
  316. <label><input type="checkbox" id="postProcess" checked="true" />Post-processes</label>
  317. </p>
  318. <p>
  319. <label><input type="checkbox" id="mirrors" checked="true" />Mirrors</label>
  320. </p>
  321. </div>
  322. <div id="rightPart">
  323. <p>
  324. Hardware scaling:
  325. <select id="hardwareScalingLevel">
  326. <option>1</option>
  327. <option>2</option>
  328. <option>3</option>
  329. <option>4</option>
  330. </select>
  331. </p>
  332. <p id="extensions"></p>
  333. <p>
  334. <button id="fullscreen">Switch fullscreen mode</button>
  335. </p>
  336. </div>
  337. </div>
  338. <div class="tag">Control panel</div>
  339. <div class="tag" id="clickableTag"></div>
  340. </div>
  341. <div id="cameraPanel">
  342. <div id="cameraControlsZone">
  343. Active camera:<br>
  344. <select id="camerasList"></select>
  345. <p>
  346. Change control method:
  347. <button class="buttonControlPanel" id="touchCamera">
  348. <img src="Assets/CamTouchOff.png" class="buttonImg" />Touch camera
  349. </button>
  350. <button class="buttonControlPanel" id="deviceOrientationCamera">
  351. <img src="Assets/CamDeviceOff.png" class="buttonImg" />Device orientation camera
  352. </button>
  353. <button class="buttonControlPanel" id="virtualJoysticksCamera">
  354. <img src="Assets/CamDeviceOff.png" class="buttonImg" />Virtual joysticks camera
  355. </button>
  356. </p>
  357. <p>
  358. Post-processes:
  359. <button class="smallButtonControlPanel" id="toggleFxaa">Toggle FXAA (antialiasing)</button>
  360. <button class="smallButtonControlPanel" id="toggleFsaa4">Toggle FSAA 4X (antialiasing)</button>
  361. <button class="smallButtonControlPanel" id="toggleBandW">Toggle Black and white</button>
  362. <button class="smallButtonControlPanel" id="toggleSepia">Toggle Sepia</button>
  363. </p>
  364. </div>
  365. <div class="cameraTag"><img src="Assets/camera.png" /></div>
  366. <div class="cameraTag" id="cameraClickableTag"></div>
  367. </div>
  368. </div>
  369. <div id="notSupported" class="hidden">Sorry but your browser does not support WebGL...</div>
  370. <div id="loadingBack" class="loadingBack"></div>
  371. <div id="loadingText" class="loadingText"></div>
  372. </div>
  373. </body>
  374. </html>