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.

123456789101112131415161718192021222324252627282930313233343536
  1. <template>
  2. <canvas id="three-canvas" style="width: 800px; height: 600px" ref="canvasRef"></canvas>
  3. </template>
  4. <script>
  5. import {ThreeViewer} from "threepipe";
  6. import {onBeforeUnmount, onMounted, ref} from "vue"
  7. export default {
  8. setup() {
  9. const canvasRef = ref(null);
  10. onMounted(() => {
  11. const viewer = new ThreeViewer({canvas: canvasRef.value});
  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. onBeforeUnmount(() => {
  22. viewer.dispose();
  23. });
  24. });
  25. return {canvasRef};
  26. },
  27. };
  28. </script>