| 514 | var material; |
| 515 | |
| 516 | function init3D() { |
| 517 | |
| 518 | var scene = new THREE.Scene(); |
| 519 | |
| 520 | var container = document.getElementById("preview3d"); |
| 521 | |
| 522 | var camera = new THREE.PerspectiveCamera( 50, container.clientWidth / container.clientHeight, 0.1, 1000 ); |
| 523 | var renderer = new THREE.WebGLRenderer( { antialias: true } ); |
| 524 | |
| 525 | renderer.setSize( container.clientWidth, container.clientHeight ); |
| 526 | document.getElementById("preview3d").appendChild( renderer.domElement ); |
| 527 | |
| 528 | material = new THREE.MeshBasicMaterial( { |
| 529 | color: 0xffffff, |
| 530 | transparent: true, |
| 531 | map: new THREE.Texture( document.getElementById("preview") ) } ); |
| 532 | |
| 533 | // Add cube |
| 534 | var cubeGeometry = new THREE.BoxGeometry( 10, 10, 10 ); |
| 535 | cube = new THREE.Mesh( cubeGeometry, material ); |
| 536 | scene.add( cube ); |
| 537 | |
| 538 | var sphereGeometry = new THREE.SphereGeometry( 7, 10, 10 ); |
| 539 | sphere = new THREE.Mesh( sphereGeometry, material ); |
| 540 | scene.add( sphere ); |
| 541 | sphere.visible = false; |
| 542 | |
| 543 | scene.add( new THREE.AmbientLight( 0x111111 ) ); |
| 544 | |
| 545 | camera.position.z = 20; |
| 546 | |
| 547 | function renderScene() { |
| 548 | requestAnimationFrame( renderScene ); |
| 549 | |
| 550 | var timer = 0.0005 * Date.now(); |
| 551 | |
| 552 | cube.rotation.y = timer; |
| 553 | sphere.rotation.y = timer; |
| 554 | |
| 555 | renderer.render(scene, camera); |
| 556 | } |
| 557 | |
| 558 | renderScene(); |
| 559 | } |
| 560 | |
| 561 | function showObject( button ) { |
| 562 | |