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.

12345678910111213141516171819202122232425262728293031
  1. <script>
  2. import {onDestroy, onMount} from 'svelte';
  3. const {ThreeViewer, LoadingScreenPlugin} = window.threepipe; // umd imported from unpkg in index.html
  4. // or
  5. // import {ThreeViewer, LoadingScreenPlugin} from 'threepipe'; // esm imported from npm
  6. let canvasRef;
  7. let viewer;
  8. onMount(() => {
  9. viewer = new ThreeViewer({canvas: canvasRef,
  10. plugins: [LoadingScreenPlugin],
  11. });
  12. // Load an environment map
  13. const envPromise = viewer.setEnvironmentMap('https://threejs.org/examples/textures/equirectangular/venice_sunset_1k.hdr');
  14. const modelPromise = viewer.load('https://threejs.org/examples/models/gltf/DamagedHelmet/glTF/DamagedHelmet.gltf', {
  15. autoCenter: true,
  16. autoScale: true,
  17. });
  18. Promise.all([envPromise, modelPromise]).then(([env, model]) => {
  19. console.log('Loaded', model, env, viewer);
  20. });
  21. });
  22. onDestroy(() => viewer.dispose())
  23. </script>
  24. <canvas bind:this={canvasRef} id="three-canvas" style="width: 800px; height: 600px"></canvas>