Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.66 KB | None | 0 0
  1.     SMeshBuffer* buffer = new SMeshBuffer();
  2.  
  3.     // Create indices
  4.     const u16 u[36] = {   0,2,1,   0,3,2,   1,5,4,   1,2,5,   4,6,7,   4,5,6,
  5.             7,3,0,   7,6,3,   9,5,2,   9,8,5,   0,11,10,   0,10,7};
  6.  
  7.     buffer->Indices.set_used(36);
  8.  
  9.     for (u32 i=0; i<36; ++i)
  10.         buffer->Indices[i] = u[i];
  11.  
  12.  
  13.     // Create vertices
  14.     video::SColor clr(255,255,255,255);
  15.  
  16.     buffer->Vertices.reallocate(12);
  17.  
  18.     buffer->Vertices.push_back(video::S3DVertex(0,0,0, -1,-1,-1, clr, 0, 1));
  19.     buffer->Vertices.push_back(video::S3DVertex(1,0,0,  1,-1,-1, clr, 1, 1));
  20.     buffer->Vertices.push_back(video::S3DVertex(1,1,0,  1, 1,-1, clr, 1, 0));
  21.     buffer->Vertices.push_back(video::S3DVertex(0,1,0, -1, 1,-1, clr, 0, 0));
  22.     buffer->Vertices.push_back(video::S3DVertex(1,0,1,  1,-1, 1, clr, 0, 1));
  23.     buffer->Vertices.push_back(video::S3DVertex(1,1,1,  1, 1, 1, clr, 0, 0));
  24.     buffer->Vertices.push_back(video::S3DVertex(0,1,1, -1, 1, 1, clr, 1, 0));
  25.     buffer->Vertices.push_back(video::S3DVertex(0,0,1, -1,-1, 1, clr, 1, 1));
  26.     buffer->Vertices.push_back(video::S3DVertex(0,1,1, -1, 1, 1, clr, 0, 1));
  27.     buffer->Vertices.push_back(video::S3DVertex(0,1,0, -1, 1,-1, clr, 1, 1));
  28.     buffer->Vertices.push_back(video::S3DVertex(1,0,1,  1,-1, 1, clr, 1, 0));
  29.     buffer->Vertices.push_back(video::S3DVertex(1,0,0,  1,-1,-1, clr, 0, 0));
  30.  
  31.     // Recalculate bounding box
  32.     buffer->BoundingBox.reset(0,0,0);
  33.  
  34.     for (u32 i=0; i<12; ++i)
  35.     {
  36.         buffer->Vertices[i].Pos -= core::vector3df(0.5f, 0.5f, 0.5f);
  37.         buffer->Vertices[i].Pos *= size;
  38.         buffer->BoundingBox.addInternalPoint(buffer->Vertices[i].Pos);
  39.     }
  40.  
  41.     SMesh* mesh = new SMesh;
  42.     mesh->addMeshBuffer(buffer);
  43.     buffer->drop();
  44.  
  45.     mesh->recalculateBoundingBox();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement