UNPKG

declarations

Version:

[![npm version](https://badge.fury.io/js/declarations.svg)](https://www.npmjs.com/package/declarations)

117 lines (70 loc) 2.8 kB
/// <reference path="../../three.d.ts" /> /// <reference path="../three-tests-setup.ts" /> // https://github.com/mrdoob/three.js/blob/master/examples/webgl_loader_awd.html () => { // ------- variable definitions that does not exist in the original code. These are for typescript. // ------- if (!Detector.webgl) Detector.addGetWebGLMessage(); var container, stats; var camera, scene, renderer, objects, controls; var particleLight, pointLight; var trunk; var loader = new THREE.AWDLoader(); loader.materialFactory = createMaterial; loader.load('./models/awd/simple/simple.awd', function (_trunk) { trunk = _trunk; init(); render(); }); function createMaterial(name) { // console.log( name ); // var mat = new THREE.MeshPhongMaterial({ // color: 0xaaaaaa, // shininess: 20 // }); // return mat; return null; } function init() { container = document.createElement('div'); document.body.appendChild(container); camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 2000); camera.position.set(70, 50, -100); controls = new THREE.OrbitControls(camera); scene = new THREE.Scene(); // Add the AWD SCENE scene.add(trunk); // Lights scene.add(new THREE.AmbientLight(0x606060)); var directionalLight = new THREE.DirectionalLight(/*Math.random() * 0xffffff*/0xeeeeee); directionalLight.position.set(.2, -1, .2); directionalLight.position.normalize(); scene.add(directionalLight); pointLight = new THREE.PointLight(0xffffff, .6); scene.add(pointLight); renderer = new THREE.WebGLRenderer(); renderer.setPixelRatio(window.devicePixelRatio); renderer.setSize(window.innerWidth, window.innerHeight); container.appendChild(renderer.domElement); stats = new Stats(); stats.domElement.style.position = 'absolute'; stats.domElement.style.top = '0px'; container.appendChild(stats.domElement); // window.addEventListener('resize', onWindowResize, false); } function onWindowResize() { camera.aspect = window.innerWidth / window.innerHeight; camera.updateProjectionMatrix(); renderer.setSize(window.innerWidth, window.innerHeight); } function render() { requestAnimationFrame(render); var timer = Date.now() * 0.0005; pointLight.position.x = Math.sin(timer * 4) * 3000; pointLight.position.y = 600 pointLight.position.z = Math.cos(timer * 4) * 3000; renderer.render(scene, camera); stats.update(); } }