I've made more progress on my learning of OpenGL and can now render objects, a HUD, and etc. I can move through the "world" successfully, and in general can do most of the basics.

Now, I'm to the point I think optimization is necessary. Right now if I create a large space (well, not so large, but big enough to get the idea) of 100x100 and render it my FPS drops to 16.

Here is what I'm doing (and I know its the wrong way of doing it):
Code:
 Camera.Apply;
// render the ground "tiles"
 glPushMatrix();
  j := 20;
  glTranslatef(-20, 0, -20);
  while(j>0)do
   begin
    i := 20;
    while(i>0)do
     begin
      glTranslatef(2, 0, 0);
      fGround.Render;
      dec(i);
     end;
    glTranslatef(-40, 0, 2);
    dec(j);
   end;
 glPopMatrix();

// render a rotating box
 glPushMatrix();
  glTranslatef(-1.5, 2, 0);
  glRotatef(yrot,1.0,0.0,0.0);
  glRotatef(xrot,0.0,1.0,0.0);
  fBox.Render;
 glPopMatrix();

// render a rotating graphic (right now a star)
 glPushMatrix();
  glTranslatef(1.5, 2, 0.0);
  glRotatef(-rotation,0.0,1.0,0.0);
  fObj2.Render;
 glPopMatrix();

// update the FBO that contains my model to be rendered into my HUD
 fbo.Render;
// Render the HUD
 GLHUD.Render;
I'm guessing that I should be using some type of wrapping (triangle strips?) when I draw the ground and shouldn't be iterating the squares directly. I've search all over for "Ground Plan OpenGL Tutorial" and got back little to nothing .

I'm also curious, should I be doing object culling inside my code and if so can someone point me to the "Idiots guide to object culling". I'm can use Matrix Manipulations instead of directly calling the opengl methods, but the opengl methods seem like an easy place to start and then I move final stuff into my base classes.

Any help greatly appreciated as usual.

- Jeremy