Advertisement
Guest User

Untitled

a guest
Oct 9th, 2012
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.84 KB | None | 0 0
  1. void ObjectsMenager::CreateInstancedArray(Mesh &base,std::vector<glm::mat4> matrices)
  2. {
  3.     int pos = 3;
  4.     glBindVertexArray(base.VaoId[0]);
  5.     glBindBuffer(GL_ARRAY_BUFFER, base.VboId[1]);
  6.     int size=matrices.size();
  7.  
  8.     glBufferData(GL_ARRAY_BUFFER, 64*size, &matrices[0], GL_DYNAMIC_DRAW);
  9.  
  10.     glEnableVertexAttribArray(pos);
  11.     glEnableVertexAttribArray(pos+1);
  12.     glEnableVertexAttribArray(pos+2);
  13.     glEnableVertexAttribArray(pos+3);
  14.  
  15.     glVertexAttribPointer(pos, 4, GL_FLOAT, GL_FALSE, 64, (void*)0);
  16.     glVertexAttribPointer(pos+1, 4, GL_FLOAT, GL_FALSE, 64, (void*)16);
  17.     glVertexAttribPointer(pos+2, 4, GL_FLOAT, GL_FALSE, 64, (void*)32);
  18.     glVertexAttribPointer(pos+3, 4, GL_FLOAT, GL_FALSE, 64, (void*)48);
  19.  
  20.     glVertexAttribDivisor(pos, 1);
  21.     glVertexAttribDivisor(pos+1, 1);
  22.     glVertexAttribDivisor(pos+2, 1);
  23.     glVertexAttribDivisor(pos+3, 1);
  24.  
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement