threepipe
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

index.html 3.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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/global-loading.mjs"></script>
  27. <script type="module" src="../examples-utils/simple-code-preview.mjs"></script>
  28. <script id="example-script" type="module" lang="ts">
  29. import {_testFinish, _testStart, LoadingScreenPlugin, ThreeViewer, SSAAPlugin} from 'threepipe'
  30. import {SlippyMapTilesLoadPlugin, EnvironmentControlsPlugin} from '@threepipe/plugin-3d-tiles-renderer'
  31. const viewer = new ThreeViewer({
  32. canvas: document.getElementById('mcanvas'),
  33. msaa: true, renderScale: window.devicePixelRatio,
  34. tonemap: false,
  35. })
  36. viewer.addPluginsSync([EnvironmentControlsPlugin, SlippyMapTilesLoadPlugin, LoadingScreenPlugin, SSAAPlugin])
  37. async function init() {
  38. viewer.scene.mainCamera.controlsMode = 'environment'
  39. viewer.scene.mainCamera.position.set(0,0, 200)
  40. viewer.scene.mainCamera.lookAt(0,0, 0)
  41. viewer.scene.mainCamera.minNearPlane = 0.1
  42. viewer.scene.mainCamera.setDirty()
  43. viewer.scene.mainCamera.controls.enableDamping = true
  44. viewer.scene.mainCamera.controls.minZoom = 0.1
  45. viewer.scene.mainCamera.controls.minDistance = 0.1
  46. viewer.scene.mainCamera.controls.maxDistance = 400
  47. viewer.scene.mainCamera.controls.cameraRadius = 1
  48. viewer.scene.mainCamera.controls.fallbackPlane.normal.set( 0,0 , 1 );
  49. viewer.scene.mainCamera.controls.up.set( 0, 0, 1 );
  50. // https://github.com/CesiumGS/3d-tiles-samples
  51. // from https://github.com/NASA-AMMOS/3DTilesRendererJS/blob/master/example/data/root.b3dm
  52. const result = await viewer.load('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
  53. autoCenter: true,
  54. autoScale: true,
  55. autoScaleRadius: 300,
  56. fileExtension: SlippyMapTilesLoadPlugin.DUMMY_EXT,
  57. tiles: {
  58. errorTarget: 1,
  59. XYZTilesPlugin: {
  60. projection: 'planar',
  61. center: true
  62. },
  63. }
  64. })
  65. console.log(result)
  66. // result.rotation.x = - Math.PI / 2;
  67. }
  68. _testStart()
  69. init().finally(_testFinish)
  70. </script>
  71. </head>
  72. <body>
  73. <div id="canvas-container">
  74. <canvas id="mcanvas"></canvas>
  75. </div>
  76. </body>