topical media & game development

talk show tell print

mobile-query-three-plugins-buffergeometry-examples-manual-triangle.htm / htm



  <!doctype html><title>Minimal tQuery Page</title>
  <script src="../../../build/tquery-bundle.js"></script>
  
  <body><script>
          var world        = tQuery.createWorld().boilerplate().start();
          // var object	= tQuery.createAxis().addTo(world);
          world.removeCameraControls();
  
          var triangles                = 1;
  
          var vertexIdxArray        = new Int16Array(triangles * 3);
          var i        = 0;
          vertexIdxArray[i+0]        = 0;
          vertexIdxArray[i+1]        = 1;        
          vertexIdxArray[i+2]        = 2;
          i        += 3;
  
          var vertexPosArray        = new Float32Array(triangles * 3 * 3);
          var i        = 0;
          vertexPosArray[i+0]        = 0;
          vertexPosArray[i+1]        = 0;
          vertexPosArray[i+2]        = 0;
          i        += 3;
          vertexPosArray[i+0]        = 1;
          vertexPosArray[i+1]        = 0;
          vertexPosArray[i+2]        = 0;
          i        += 3;
          vertexPosArray[i+0]        = 0;
          vertexPosArray[i+1]        = 1;
          vertexPosArray[i+2]        = 0;
          i        += 3;
  
          var uvArray                = new Float32Array(triangles * 3 * 2);
          var i        = 0;
          uvArray[i+0]        = 0;
          uvArray[i+1]        = 0;
          i        += 2;
          uvArray[i+0]        = 1;
          uvArray[i+1]        = 0;
          i        += 2;
          uvArray[i+0]        = 0;
          uvArray[i+1]        = 1;
          i        += 2;
  
          var attributes = {
                  position        : {
                          itemSize: 3,
                          array        : vertexPosArray,
                          numItems: vertexPosArray.length
                  },
                  index                : {
                          itemSize: 1,
                          array        : vertexIdxArray,
                          numItems: vertexIdxArray.length
                  },
                  uv        : {
                          itemSize: 2,
                          array        : uvArray,
                          numItems: uvArray.length
                  }
          };
  
          var geometry                = new THREE.BufferGeometry();
          geometry.attributes        = attributes;
          geometry.offsets        = [{
                  start        : 0,
                  count        : vertexIdxArray.length,
                  index        : 0
          }];
  
          geometry.computeBoundingBox();
          geometry.computeBoundingSphere();
          geometry.computeVertexNormals();
  
          //var material        = new THREE.MeshNormalMaterial();
          geometry.dynamic= true;
          var bufferGeo        = geometry;
          console.log('bufferGeo', bufferGeo)
  
          var texture        = THREE.ImageUtils.loadTexture( "../../assets/images/ash_uvgrid01.jpg" );
          // texture.repeat.set( 1, 1 );
          // texture.wrapS        = texture.wrapT = THREE.RepeatWrapping;
          var tMaterial        = new THREE.MeshBasicMaterial({
                  color        : 0xffffff,
                  map        : texture
          });
          var mesh        = new THREE.Mesh(geometry, tMaterial);
          world.add(mesh);
          
          
          if( true ){
                  var geometry        = new THREE.Geometry();
                  geometry.vertices.push( new THREE.Vector3( 0, 1, 0 ) );
                  geometry.vertices.push( new THREE.Vector3( 0, 0, 0 ) );
                  geometry.vertices.push( new THREE.Vector3( 1, 0, 0 ) );
                  geometry.faces.push( new THREE.Face3(0,1,2) );        
                  geometry.faceVertexUvs[0].push([
                          new THREE.UV(0, 1),
                          new THREE.UV(0, 0),
                          new THREE.UV(1, 0)
                  ]);
                  geometry.computeBoundingBox();
                  geometry.computeFaceNormals();
                  geometry.computeCentroids();
                  geometry.computeVertexNormals();
                  geometry.computeMorphNormals();
                  //geometry.computeTangents();
                  geometry.computeBoundingSphere();                
                  var mesh        = new THREE.Mesh(geometry, material);
                  mesh.position.x        = -1;
                  var normalGeo        = geometry;
                  world.add(mesh);
          }
  
          
  </script></body>


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.