Example #1
0
 private Node constructMesh() {
   Node toReturn = new Node("MD3 File");
   for (int i = 0; i < head.numSurface; i++) {
     vkc = new KeyframeController();
     MD3Surface thisSurface = surfaces[i];
     TriMesh object = new TriMesh(thisSurface.name);
     object.setIndexBuffer(BufferUtils.createIntBuffer(thisSurface.triIndexes));
     object.setVertexBuffer(BufferUtils.createFloatBuffer(thisSurface.verts[0]));
     object.setNormalBuffer(BufferUtils.createFloatBuffer(thisSurface.norms[0]));
     object.setTextureCoords(TexCoords.makeNew(thisSurface.texCoords));
     toReturn.attachChild(object);
     vkc.setMorphingMesh(object);
     for (int j = 0; j < head.numFrames; j++) {
       TriMesh etm = new TriMesh();
       etm.setVertexBuffer(BufferUtils.createFloatBuffer(thisSurface.verts[j]));
       etm.setNormalBuffer(BufferUtils.createFloatBuffer(thisSurface.norms[j]));
       vkc.setKeyframe(j, etm);
     }
     vkc.setActive(true);
     vkc.setSpeed(5);
     object.addController(vkc);
     toReturn.addController(vkc);
   }
   nullAll();
   return toReturn;
 }