function init() { container = document.createElement( 'div' ); document.body.appendChild( container ); camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 1, 10000 ); camera.position.set( 500, 800, 1300 ); camera.lookAt( new THREE.Vector3() ); scene = new THREE.Scene(); interactiveConeGeo = new THREE.CylinderGeometry(100, 0, 600, 100, 1, true); interactiveConeGeo.translate(0, 300, 0); interactiveConeGeo.rotateX(Math.PI/2.); interactiveConeMaterial = new THREE.MeshBasicMaterial({color: 0x80FFE5, opacity: 0.5}); interactiveCone = new THREE.Mesh( interactiveConeGeo, interactiveConeMaterial ); interactiveCone.material.side = THREE.DoubleSide; interactiveCone.material.transparent = true; scene.add( interactiveCone ); // raycaster = new THREE.Raycaster(); mouse = new THREE.Vector2(); var geometry = new THREE.SphereBufferGeometry( 300, 100, 100 ); sphere = new THREE.Mesh( geometry, new THREE.MeshBasicMaterial( {color: 0xFFFFFF, opacity: 0.6 } ) ); sphere.material.transparent = true; scene.add( sphere ); objects.push( sphere ); // Lights var ambientLight = new THREE.AmbientLight( 0x606060 ); scene.add( ambientLight ); var directionalLight = new THREE.DirectionalLight( 0xffffff ); directionalLight.position.set( 1, 0.75, 0.5 ).normalize(); scene.add( directionalLight ); renderer = new THREE.WebGLRenderer( { antialias: true } ); renderer.setClearColor( 0xf0f0f0 ); renderer.setPixelRatio( window.devicePixelRatio ); renderer.setSize( window.innerWidth, window.innerHeight ); container.appendChild( renderer.domElement ); // d3.select(document).on('mousemove', onDocumentMouseMove); document.addEventListener( 'mousemove', onDocumentMouseMove, false ); document.addEventListener( 'mousedown', onDocumentMouseDown, false ); document.addEventListener( 'keydown', onDocumentKeyDown, false ); document.addEventListener( 'keyup', onDocumentKeyUp, false ); // window.addEventListener( 'resize', onWindowResize, false ); }
function makeRenderDriver() { const renderer = new THREE.WebGLRenderer({ antialias: true }); renderer.setClearColor( 0xf0f0f0 ); renderer.setPixelRatio( window.devicePixelRatio ); renderer.setSize( window.innerWidth, window.innerHeight ); d3.select('#app').node().appendChild( renderer.domElement ); return function(source$) { source$.subscribe(fn => fn(renderer)); }; }
function init() { camera.position.z = 400; scene = new THREE.Scene(); var geometry = new THREE.BoxGeometry( 200, 200, 200 ); var material = new THREE.MeshBasicMaterial({ wireframe: true }); mesh = new THREE.Mesh( geometry, material ); scene.add( mesh ); renderer = new THREE.WebGLRenderer(); renderer.setPixelRatio( window.devicePixelRatio ); renderer.setSize( window.innerWidth, window.innerHeight ); document.body.appendChild( renderer.domElement ); window.addEventListener( 'resize', onWindowResize, false ); }
function initScene(){ scene = new THREE.Scene(); ambientLight = new THREE.AmbientLight( 0x888888 ); scene.add( ambientLight ); var lightSettings = $scope.lightSettings; light = new THREE.DirectionalLight( 0xcccccc, .5 ); light.position.set(lightSettings.x,lightSettings.y,lightSettings.z); scene.add( light ); light.castShadow = true; light.shadowCameraNear = 0.01; light.shadowCameraFar = 15; light.shadowCameraFov = 45; light.shadowCameraLeft = -1; light.shadowCameraRight = 1; light.shadowCameraTop = 1; light.shadowCameraBottom= -1; light.shadowBias = 0.001; light.shadowDarkness = 0.2; light.shadowMapWidth = 1024 *2; light.shadowMapHeight = 1024 *2; camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 0.1, 1000 ); camera.position.z = 2.5; //adding y to look at rings camera.position.y = .5; camera.lookAt(new THREE.Vector3(0,0,0)); renderer = new THREE.WebGLRenderer({ canvas: document.getElementById("planetCanvas"), antialias:true }); renderer.setSize( window.innerWidth, window.innerHeight - 55 ); // document.getElementById('view').appendChild( renderer.domElement ); controls = new THREE.OrbitControls(camera, document.getElementById("planetCanvas")); controls.addEventListener('change', render); }