title: Using Vertex Buffer Objects for a tile-based game and texture atlases
body: <p>I'm creating a tile-based game in C# with OpenGL and I'm trying to optimize my code as best as possible.</p>
  
  <p>I've read several articles and sections in books and all come to the same conclusion (as you may know) that use of VBOs greatly increases performance.</p>
  
  <p>I'm not quite sure, however, how they work exactly.</p>
  
  <p>My game will have tiles on the screen, some will change and some will stay the same. <strong>To use a VBO for this, I would need to add the coordinates of each tile to an array, correct?</strong></p>
  
  <p><strong>Also, to texture these tiles, I would have to create a separate VBO for this?</strong></p>
  
  <p>I'm not quite sure what the code would look like for tiling these coordinates if I've got tiles that are animated and tiles that will be static on the screen. 
  <strong>Could anyone give me a quick rundown of this?</strong></p>
  
  <p>I plan on using a texture atlas of all of my tiles. I'm not sure where to begin to use this atlas for the textured tiles. 
  <strong>Would I need to compute the coordinates of the tile in the atlas to be applied? Is there any way I could simply use the coordinates of the atlas to apply a texture?</strong></p>
  
  <p>If anyone could clear up these questions it would be greatly appreciated. I could even possibly reimburse someone for their time &amp; help if wanted.</p>
  
  <p>Thanks,</p>
  
  <p>Greg</p>