const backgroundColor = 0x000000;
/*////////////////////////////////////////*/
var renderCalls = [];
function render () {
requestAnimationFrame( render );
renderCalls.forEach((callback)=>{ callback(); });
}
render();
/*////////////////////////////////////////*/
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 10, window.innerWidth / window.innerHeight, 0.1, 100 );
camera.position.set(5,1,1);
var renderer = new THREE.WebGLRenderer( { antialias: true } );
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.setClearColor( backgroundColor );//0x );
renderer.toneMapping = THREE.LinearToneMapping;
renderer.toneMappingExposure = Math.pow( 0.94, 5.0 );
renderer.shadowMap.enabled = true;
renderer.shadowMap.type = THREE.PCFShadowMap;
window.addEventListener( 'resize', function () {
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize( window.innerWidth, window.innerHeight );
}, false );
document.body.appendChild( renderer.domElement);
function renderScene(){ renderer.render( scene, camera ); }
renderCalls.push(renderScene);
/* ////////////////////////////////////////////////////////////////////////// */
var controls = new THREE.OrbitControls( camera );
controls.rotateSpeed = 0.3;
controls.zoomSpeed = 0.9;
controls.minDistance = 3;
controls.maxDistance = 20;
controls.minPolarAngle = 0; // radians
controls.maxPolarAngle = Math.PI /2; // radians
controls.enableDamping = true;
controls.dampingFactor = 0.05;
renderCalls.push(function(){
controls.update()
});
/* ////////////////////////////////////////////////////////////////////////// */
var light = new THREE.PointLight( 0xffffcc, 10, 200 );
light.position.set( 4, 30, -20 );
scene.add( light );
var light2 = new THREE.AmbientLight( 0x20202A, 10, 10 );
light2.position.set( 30, -10, 30 );
scene.add( light2 );
/* ////////////////////////////////////////////////////////////////////////// */
var loader = new THREE.GLTFLoader();
loader.crossOrigin = true;
loader.load( data.model, function ( data ) {
var object = data.scene;
object.position.set(0, 0, 0);
TweenMax.from( object.position, 3, {
y: 0,
yoyo: false,
repeat: false,
ease: false
});
scene.add( object );
});