Hi everyone,
I know I must be doing something very wrong. I had been working in immediate mode until someone told me that I was using the slowest possible method.
I've since switched to display lists, but they seem to be even slow than immediate mode. My guess is that I'm doing something wrong.
Here's my code which generates the list:
glNewList(index, GL_COMPILE);
for (std::vector<FaceGroup*>::iterator i = face_group_0.begin(); i != face_group_0.end(); ++i) {
glPushMatrix();
glEnable( GL_TEXTURE_2D );
glBindTexture(GL_TEXTURE_2D, texture_manager->texture[0].texture);
glBegin(GL_QUADS);
glColor4ub(255, 255, 255, 128);
// Push sides
glTexCoord2i( 0, 0 );
glVertex3f((*i)->x_origin + 1.f, (*i)->y_origin + (*i)->height, (*i)->z_origin + (*i)->width);
glTexCoord2i( (*i)->width, 0 );
glVertex3f((*i)->x_origin + 1.f, (*i)->y_origin + (*i)->height, (*i)->z_origin);
glTexCoord2i( (*i)->width, (*i)->height );
glVertex3f((*i)->x_origin + 1.f, (*i)->y_origin, (*i)->z_origin);
glTexCoord2i( 0, (*i)->height );
glVertex3f((*i)->x_origin + 1.f, (*i)->y_origin, (*i)->z_origin + (*i)->width);
glEnd();
glDisable(GL_TEXTURE_2D);
glPopMatrix();
}
glEndList();
And I call the list in a draw function:
void FaceGroupManager::Draw()
{
glCallList(index);
}
Any ideas on what I might be doing wrong?
Thank you for the help.