Advertisement
Guest User

Untitled

a guest
May 29th, 2015
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1.  
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <title>three.js webgl - geometry - cube</title>
  6. <meta charset="utf-8">
  7. <style>
  8. body {
  9. margin: 0px;
  10. background-color: #000000;
  11. overflow: hidden;
  12. }
  13. </style>
  14. </head>
  15. <body>
  16.  
  17. <script src="libs/three.min.js"></script>
  18.  
  19. <script>
  20.  
  21. var camera, scene, renderer;
  22. var mesh;
  23.  
  24. var add = false;
  25.  
  26. init();
  27. animate();
  28.  
  29. function init() {
  30.  
  31. renderer = new THREE.WebGLRenderer();
  32. renderer.setPixelRatio( window.devicePixelRatio );
  33. renderer.setSize( window.innerWidth, window.innerHeight );
  34. document.body.appendChild( renderer.domElement );
  35.  
  36. //
  37.  
  38. camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 1000 );
  39. camera.position.z = 400;
  40. camera.position.x = 300;
  41. camera.position.y = -300;
  42. camera.up = new THREE.Vector3(0, 0, 1);
  43.  
  44. scene = new THREE.Scene();
  45.  
  46. var ambientLight = new THREE.AmbientLight(0xffffff, 1);
  47. scene.add(ambientLight);
  48.  
  49. var geometry = new THREE.BoxGeometry( 200, 200, 200 );
  50.  
  51. var material = new THREE.MeshLambertMaterial( {
  52. color: 0xf7505a,
  53. wireframe: true
  54. //map: THREE.ImageUtils.loadTexture('/' + terrainTileInfo.path + '.png')
  55. });
  56.  
  57. mesh = new THREE.Mesh( geometry, material );
  58. mesh.name = "cicciopasticcio";
  59. scene.add( mesh );
  60.  
  61. camera.lookAt(mesh.position);
  62. //
  63.  
  64. mesh.updateMatrix();
  65. mesh.geometry.merge(new THREE.BoxGeometry(100, 100, 100));
  66. mesh.geometry.dynamic = true;
  67.  
  68. window.addEventListener( 'resize', onWindowResize, false );
  69. window.addEventListener( 'click', onClick, false);
  70.  
  71. }
  72.  
  73. function onClick() {
  74.  
  75. tempMesh = new THREE.Mesh();
  76. tempMesh.geometry = new THREE.SphereGeometry(100, 10, 10);
  77. tempMesh.position = new THREE.Vector3(10, 10, 10);
  78. console.log(tempMesh);
  79.  
  80. mesh.updateMatrix();
  81. mesh.geometry.merge(tempMesh.geometry);
  82. mesh.geometry.verticesNeedUpdate = true;
  83. mesh.geometry.elementsNeedUpdate = true;
  84. }
  85.  
  86. function onWindowResize() {
  87.  
  88. camera.aspect = window.innerWidth / window.innerHeight;
  89. camera.updateProjectionMatrix();
  90.  
  91. renderer.setSize( window.innerWidth, window.innerHeight );
  92.  
  93. }
  94.  
  95. function animate() {
  96.  
  97. requestAnimationFrame( animate );
  98. renderer.render( scene, camera );
  99.  
  100. }
  101.  
  102. </script>
  103.  
  104. </body>
  105. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement