Advertisement
Guest User

OpenglPlane

a guest
Feb 13th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.17 KB | None | 0 0
  1. SMeshConstructorProcedural BuildPlaneData(float sZ, float sX)
  2. {
  3.   //Init model data
  4.   SBinaryModelData modelData;
  5.  
  6.   //Positions
  7.   std::vector<float> pos = {
  8.     0,0,0,1,0,0,1,0,1,0,0,1,
  9.     1,0,0,2,0,0,2,0,1,1,0,1,
  10.     0,0,1,1,0,1,1,0,2,0,0,2,
  11.     1,0,1,2,0,1,2,0,2,1,0,2
  12.   };
  13.   std::vector<float> nrm = {
  14.     0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
  15.     0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
  16.     0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
  17.     0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0
  18.   };
  19.  
  20.   std::vector<float> uv = {
  21.     0, 0, 1, 0, 1, 1, 0, 1,
  22.     0, 0, 1, 0, 1, 1, 0, 1,
  23.     0, 0, 1, 0, 1, 1, 0, 1,
  24.     0, 0, 1, 0, 1, 1, 0, 1
  25.   };
  26.  
  27.   modelData.vertices = pos;
  28.   modelData.vertices.insert(modelData.vertices.end(), uv.begin(), uv.end());
  29.   modelData.vertices.insert(modelData.vertices.end(), nrm.begin(), nrm.end());
  30.   modelData.vertexSize = 48;
  31.   modelData.normalSize = 48;
  32.   modelData.UVSize = 32;
  33.  
  34.   modelData.indices = {
  35.     2, 1, 0, 3, 2, 0,
  36.     2, 1, 0, 3, 2, 0,
  37.     2, 1, 0, 3, 2, 0,
  38.     2, 1, 0, 3, 2, 0
  39.   };
  40.   modelData.indicesSize = 24;
  41.  
  42.  
  43.   //Build the mesh constructor
  44.   SMeshConstructorProcedural dataToReturn(kLines, modelData);
  45.   return dataToReturn;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement