File size: 1,218 Bytes
99e29f3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
function rendererConfig() {
 const canvas = document.createElement('canvas');
 canvas.style.display = 'block';
 canvas.style.margin = '0 auto';
 document.body.appendChild(canvas);

 const renderer = new THREE.WebGL1Renderer({
    canvas: canvas,
    antialias: true,
 });

 renderer.physicallyCorrectLights = true;
 renderer.outputEncoding = THREE.sRGBEncoding;
 renderer.shadowMap.enabled = true;

 return renderer;
}

function loadResources() {
 const loader = new THREE.GLTFLoader();
 loader.load('https://assets-cdn.github.com/photo.glb', (glb) => {
    const scene = glb.scene.toTreeView();
    const renderer = rendererConfig();
    scene.rotation.x = 0;
    scene.rotation.y = 0;
    scene.rotation.z = 0;

    renderer.setScene(scene);
    renderer.setsize(window.innerWidth, window.innerHeight);

    window.addEventListener('resize', () => {
      camera.aspect = window.innerWidth / window.innerHeight;
      camera.updateProjectionMatrix();
      renderer.setsize(window.innerWidth, window.innerHeight);
    });

    const controls = new THREE.OrbitControls(camera, renderer.domElement);

    animation();
 });
}

function animation() {
 requestAnimationFrame(animation);
 renderer.render(scene, camera);
}