|
1 | 1 | import * as THREE from "three";
|
2 | 2 |
|
| 3 | + |
3 | 4 | import _frag from "./test.frag";
|
4 | 5 | import _vert from "./test.vert";
|
5 | 6 |
|
| 7 | +import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; |
6 | 8 |
|
7 | 9 | // const geometry = new THREE.IcosahedronGeometry(1, 5);
|
8 | 10 | // const material = new THREE.MeshStandardMaterial();
|
@@ -35,18 +37,34 @@ scene.add(mesh);
|
35 | 37 |
|
36 | 38 | const renderer = new THREE.WebGLRenderer({ antialias: true });
|
37 | 39 | renderer.setSize(width, height);
|
38 |
| -renderer.setAnimationLoop(animate); |
39 |
| -// document.body.appendChild(renderer.domElement); |
| 40 | +document.body.appendChild(renderer.domElement); |
40 | 41 | const elem = document.getElementById("my-canvas");
|
41 | 42 | if (elem !== null) {
|
42 | 43 | elem.appendChild(renderer.domElement);
|
43 | 44 | }
|
44 | 45 |
|
45 | 46 | // animation
|
46 | 47 |
|
47 |
| -function animate(time: number) { |
48 |
| - mesh.rotation.x = time / 2000; |
49 |
| - mesh.rotation.y = time / 1000; |
| 48 | +// function animate(time: number) { |
| 49 | +// mesh.rotation.x = time / 2000; |
| 50 | +// mesh.rotation.y = time / 1000; |
| 51 | + |
| 52 | +// renderer.render(scene, camera); |
| 53 | +// } |
| 54 | + |
50 | 55 |
|
| 56 | +renderer.setAnimationLoop(animate); |
| 57 | +// const controls = new OrbitControls(camera, renderer.domElement) |
| 58 | +// controls.enableDamping = true |
| 59 | + |
| 60 | +const controls = new OrbitControls(camera, renderer.domElement); |
| 61 | +controls.update(); |
| 62 | +// camera.position.set(0, 20, 100); |
| 63 | + |
| 64 | +function animate() { |
| 65 | + requestAnimationFrame(animate); // required if controls.enableDamping or controls.autoRotate are set to true |
| 66 | + controls.update(); |
51 | 67 | renderer.render(scene, camera);
|
52 | 68 | }
|
| 69 | + |
| 70 | +// renderer.render(scene, camera); |
0 commit comments