vr_heidentor.html 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="description" content="">
  6. <meta name="author" content="">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
  8. <title>Potree Viewer</title>
  9. <link rel="stylesheet" type="text/css" href="../build/potree/potree.css">
  10. <link rel="stylesheet" type="text/css" href="../libs/jquery-ui/jquery-ui.min.css">
  11. <link rel="stylesheet" type="text/css" href="../libs/openlayers3/ol.css">
  12. <link rel="stylesheet" type="text/css" href="../libs/spectrum/spectrum.css">
  13. <link rel="stylesheet" type="text/css" href="../libs/jstree/themes/mixed/style.css">
  14. </head>
  15. <body>
  16. <script src="../libs/jquery/jquery-3.1.1.min.js"></script>
  17. <script src="../libs/spectrum/spectrum.js"></script>
  18. <script src="../libs/jquery-ui/jquery-ui.min.js"></script>
  19. <script src="../libs/other/BinaryHeap.js"></script>
  20. <script src="../libs/tween/tween.min.js"></script>
  21. <script src="../libs/d3/d3.js"></script>
  22. <script src="../libs/proj4/proj4.js"></script>
  23. <script src="../libs/openlayers3/ol.js"></script>
  24. <script src="../libs/i18next/i18next.js"></script>
  25. <script src="../libs/jstree/jstree.js"></script>
  26. <script src="../build/potree/potree.js"></script>
  27. <script src="../libs/plasio/js/laslaz.js"></script>
  28. <!-- INCLUDE ADDITIONAL DEPENDENCIES HERE -->
  29. <!-- INCLUDE SETTINGS HERE -->
  30. <div class="potree_container" style="position: absolute; width: 100%; height: 100%; left: 0px; top: 0px; ">
  31. <div id="potree_render_area" style="background-image: url('../build/potree/resources/images/background.jpg');"></div>
  32. <div id="potree_sidebar_container"> </div>
  33. <input id="tiffTest" type="button" value="tiff test" />
  34. </div>
  35. <script type="module">
  36. import * as THREE from "../libs/three.js/build/three.module.js";
  37. window.viewer = new Potree.Viewer(document.getElementById("potree_render_area"));
  38. viewer.setEDLEnabled(true);
  39. viewer.setFOV(90);
  40. viewer.setPointBudget(1_000_000);
  41. viewer.setMinNodeSize(0);
  42. viewer.loadSettingsFromURL();
  43. viewer.setBackground("skybox");
  44. viewer.setShowBoundingBox(false);
  45. viewer.setDescription(`Heidentor point cloud courtesy of <a href="http://archpro.lbg.ac.at/" target="_blank">Ludwig Boltzmann Institute - Archeological Prospection and Virtual Archeology</a> (26M points)`);
  46. viewer.loadGUI(() => {
  47. viewer.setLanguage('en');
  48. $("#menu_appearance").next().show();
  49. $("#menu_tools").next().show();
  50. $("#menu_scene").next().show();
  51. //viewer.toggleSidebar();
  52. });
  53. Potree.loadPointCloud("https://potree.org/pointclouds/heidentor/metadata.json", "Heidentor", function(e){
  54. viewer.scene.addPointCloud(e.pointcloud);
  55. e.pointcloud.position.z = 0;
  56. let material = e.pointcloud.material;
  57. material.size = 1;
  58. material.pointSizeType = Potree.PointSizeType.ADAPTIVE;
  59. viewer.scene.view.setView(
  60. [4.681, 3.228, 2.074],
  61. [3.681, 3.222, 2.359],
  62. );
  63. });
  64. { // ground plane
  65. const texture = new THREE.TextureLoader().load(`${Potree.resourcePath}/textures/rectangle.png`);
  66. texture.wrapS = THREE.RepeatWrapping;
  67. texture.wrapT = THREE.RepeatWrapping;
  68. texture.repeat.x = 10;
  69. texture.repeat.y = 10;
  70. texture.anisotropy = 16;
  71. let geometry = new THREE.PlaneBufferGeometry(1, 1, 10, 10);
  72. let material = new THREE.MeshBasicMaterial();
  73. material.map = texture;
  74. material.needsUpdate = true;
  75. let plane = new THREE.Mesh(geometry, material);
  76. plane.scale.set(18, 18, 18);
  77. plane.position.set(-2, 3, 0);
  78. plane.material.color.setRGB(0.8, 0.8, 0.8);
  79. window.plane = plane;
  80. viewer.scene.scene.add(plane);
  81. }
  82. </script>
  83. </body>
  84. </html>