threepipe
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 2.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Slippy Map Tiles (3D Tiles Renderer)</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <!-- Import maps polyfill -->
  8. <!-- Remove this when import maps will be widely supported -->
  9. <script async src="https://unpkg.com/es-module-shims@1.6.3/dist/es-module-shims.js"></script>
  10. <script type="importmap">
  11. {
  12. "imports": {
  13. "threepipe": "./../../dist/index.mjs",
  14. "@threepipe/plugin-3d-tiles-renderer": "./../../plugins/3d-tiles-renderer/dist/index.mjs"
  15. }
  16. }
  17. </script>
  18. <style id="example-style">
  19. html, body, #canvas-container, #mcanvas {
  20. width: 100%;
  21. height: 100%;
  22. margin: 0;
  23. overflow: hidden;
  24. }
  25. </style>
  26. <script type="module" src="../examples-utils/simple-code-preview.mjs"></script>
  27. <script id="example-script" type="module" lang="ts">
  28. import {_testFinish, LoadingScreenPlugin, ThreeViewer, SSAAPlugin} from 'threepipe'
  29. import {SlippyMapTilesLoadPlugin} from '@threepipe/plugin-3d-tiles-renderer'
  30. const viewer = new ThreeViewer({
  31. canvas: document.getElementById('mcanvas'),
  32. msaa: true, renderScale: window.devicePixelRatio,
  33. tonemap: false,
  34. })
  35. viewer.addPluginsSync([SlippyMapTilesLoadPlugin, LoadingScreenPlugin, SSAAPlugin])
  36. // todo once loaded small tiles, its not loading back the bigger ones on zoom out
  37. // also getting weird behaviour sometimes
  38. async function init() {
  39. viewer.scene.mainCamera.position.set(0,0, 20)
  40. viewer.scene.mainCamera.minNearPlane = 0.1
  41. viewer.scene.mainCamera.setDirty()
  42. // https://github.com/CesiumGS/3d-tiles-samples
  43. // from https://github.com/NASA-AMMOS/3DTilesRendererJS/blob/master/example/data/root.b3dm
  44. const result = await viewer.load('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
  45. autoCenter: true,
  46. autoScale: true,
  47. autoScaleRadius: 30,
  48. fileExtension: SlippyMapTilesLoadPlugin.DUMMY_EXT,
  49. tiles: {
  50. errorTarget: 1,
  51. XYZTilesPlugin: {
  52. projection: 'planar',
  53. center: true
  54. },
  55. }
  56. })
  57. viewer.setDirty()
  58. console.log(result)
  59. // result.rotation.x = - Math.PI / 2;
  60. }
  61. init().finally(_testFinish)
  62. </script>
  63. </head>
  64. <body>
  65. <div id="canvas-container">
  66. <canvas id="mcanvas"></canvas>
  67. </div>
  68. </body>