threepipe
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

index.html 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Dispose and Reimport Test</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. }
  15. }
  16. </script>
  17. <style id="example-style">
  18. html, body, #canvas-container, #mcanvas {
  19. width: 100%;
  20. height: 100%;
  21. margin: 0;
  22. overflow: hidden;
  23. }
  24. </style>
  25. <script type="module" src="../examples-utils/global-loading.mjs"></script>
  26. <script type="module" src="../examples-utils/simple-code-preview.mjs"></script>
  27. <script id="example-script" type="module">
  28. import {_testFinish, _testStart, ThreeViewer, timeout} from 'threepipe'
  29. const viewer = new ThreeViewer({canvas: document.getElementById('mcanvas')})
  30. async function init() {
  31. await viewer.setEnvironmentMap('https://threejs.org/examples/textures/equirectangular/venice_sunset_1k.hdr')
  32. viewer.scene.background = viewer.scene.environment
  33. const model = await viewer.load('https://threejs.org/examples/models/gltf/DamagedHelmet/glTF/DamagedHelmet.gltf', {
  34. autoCenter: true,
  35. autoScale: true,
  36. })
  37. console.log(model.uuid)
  38. await timeout(500)
  39. viewer.scene.clearSceneModels(false)
  40. await timeout(500)
  41. const model2 = await viewer.load('https://threejs.org/examples/models/gltf/DamagedHelmet/glTF/DamagedHelmet.gltf', {
  42. autoCenter: true,
  43. autoScale: true,
  44. })
  45. console.log(model2.uuid)
  46. if(model !== model2) throw new Error('Error in Test - Models should be the same after clearing scene models');
  47. await timeout(500)
  48. viewer.scene.disposeSceneModels()
  49. await timeout(500)
  50. const model3 = await viewer.load('https://threejs.org/examples/models/gltf/DamagedHelmet/glTF/DamagedHelmet.gltf', {
  51. autoCenter: true,
  52. autoScale: true,
  53. })
  54. console.log(model3.uuid)
  55. if(model2 === model3) throw new Error('Error in Test - Models should not be the same after disposing scene models');
  56. await timeout(500)
  57. viewer.scene.disposeSceneModels()
  58. await timeout(500)
  59. viewer.scene.addObject(model.translateX(-0.5)) // add back cleared model
  60. viewer.scene.addObject(model2.translateX(-0.5)) // again, shouldn't change anything
  61. viewer.scene.addObject(model3.translateX(1)) // add back disposed model
  62. }
  63. _testStart()
  64. init().finally(_testFinish)
  65. </script>
  66. </head>
  67. <body>
  68. <div id="canvas-container">
  69. <canvas id="mcanvas"></canvas>
  70. </div>
  71. </body>