title: OpenGL concept question
body: <p>I'm just starting OpenGL programming in Win32 C++ so don't be too hard on me :) I've been wandering along the NeHe tutorials and 'the red book' a bit now, but I'm confused. So far I've been able to set up an OpenGL window, draw some triangles etc, no problem. But now I want to build a model and view it from different angles. So do we:</p>
  
  <ol>
  <li><p>Load a model into memory (saving triangles/quads coordinates in structs on the heap) and in each scene render we draw all stuff we have to the screen using <code>glVertex3f</code> and so on. </p></li>
  <li><p>Load/draw the model once using <code>glVertex3f</code> etc and we can just change the viewing position in each scene.</p></li>
  <li><p>Other...?</p></li>
  </ol>
  
  <p>It seems to me option 1 is most plausible from all I read so far, however it seems a bit ehh.. dumb! Do we have to decide which objects are visible, and only draw those. Isn't that very slow? Option 2 might seem more attractive :)</p>
  
  <p>EDIT: Thanks for all the help, I've decided to do: read my model from file, then load it into the GPU memory using <code>glBufferData</code> and then feed that data to the render function using <code>glVertexPointer</code> and <code>glDrawArrays</code>.</p>