Advertisement
Guest User

Untitled

a guest
Oct 18th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 3.05 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.     <head>
  4.         <title>three.js webgl - geometry - cube</title>
  5.         <meta charset="utf-8">
  6.         <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
  7.         <link type="text/css" rel="stylesheet" href="main.css">
  8.     </head>
  9.     <body>
  10.  
  11.         <script type="module">
  12.  
  13.             import * as THREE from '../build/three.module.js';
  14.             var texture = new THREE.TextureLoader().load( 'textures/brick_roughness.jpg' );
  15.             var material = new THREE.MeshBasicMaterial( { map: texture } );
  16.  
  17.             var camera, scene, renderer;
  18.             var mesh, cylinder,mesh2;
  19.  
  20.             var nbColumns = 5;
  21.             var nbLines = 5;
  22.  
  23.             init();
  24.             animate();
  25.  
  26.             function createColumn(x,y,z){
  27.                 var geo_cylindre = new THREE.CylinderBufferGeometry(  30, 30, 200, 32);
  28.  
  29.                 var geometry_cube = new THREE.BoxBufferGeometry( 80, 80, 80 );
  30.  
  31.                 cylinder = new THREE.Mesh( geo_cylindre, material);
  32.                 cylinder.position.x = x;
  33.                 cylinder.position.z = z;
  34.                 scene.add ( cylinder);
  35.  
  36.                 mesh = new THREE.Mesh( geometry_cube, material );
  37.                 mesh.position.y = y-140;
  38.                 mesh.position.x = x;
  39.                 mesh.position.z  = z;
  40.                 scene.add( mesh );
  41.  
  42.                 mesh2 = new THREE.Mesh( geometry_cube , material ) ;
  43.                 mesh2.position.y = y+140;
  44.                 mesh2.position.x = x;
  45.                 mesh2.position.z  = z;
  46.                 scene.add(mesh2);
  47.             }
  48.  
  49.             function init() {
  50.  
  51.                 camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 5000 );
  52.                 camera.position.z = 1000;
  53.                 camera.position.x = 300;
  54.                 scene = new THREE.Scene();
  55.  
  56.  
  57.                
  58.  
  59.                
  60.                 var groundGeometry = new THREE.BoxBufferGeometry((nbColumns*120)*2, 30, (nbLines*120)*2);
  61.  
  62.                 var ground = new THREE.Mesh(groundGeometry, material);
  63.                 ground.position.x = 0;
  64.                 ground.position.z = 0;
  65.                 ground.position.y = -180;
  66.  
  67.                 scene.add(ground);
  68.                 for(var i = 0; i < nbColumns; i ++){
  69.                     for(var j = 0; j < nbLines; j++){
  70.                         createColumn(i*120,0,j*120);
  71.                     }
  72.                }
  73.                 renderer = new THREE.WebGLRenderer( { antialias: true } );
  74.                 renderer.setPixelRatio( window.devicePixelRatio );
  75.                 renderer.setSize( window.innerWidth, window.innerHeight );
  76.                 document.body.appendChild( renderer.domElement );
  77.  
  78.                 window.addEventListener( 'resize', onWindowResize, false );
  79.  
  80.             }
  81.  
  82.             function onWindowResize() {
  83.  
  84.                 camera.aspect = window.innerWidth / window.innerHeight;
  85.                 camera.updateProjectionMatrix();
  86.  
  87.                 renderer.setSize( window.innerWidth, window.innerHeight );
  88.  
  89.             }
  90.  
  91.             function animate() {
  92.  
  93.                 requestAnimationFrame( animate );
  94.  
  95.                 //mesh.rotation.x += 0.015;
  96.                 //mesh.rotation.y += 0.015;
  97.  
  98.                // mesh2.rotation.x += 0.015;
  99.                 //mesh2.rotation.y += 0.015;
  100.  
  101.                 //cylinder.rotation.y += 0.055;
  102.                 //cylinder.rotation.x += 0.015;
  103.                
  104.                
  105.                
  106.  
  107.                 renderer.render( scene, camera );
  108.  
  109.             }
  110.  
  111.         </script>
  112.  
  113.     </body>
  114. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement