Да, это возможно: просто сохраните старую проекционную матрицу, загрузите новую и восстановите старую, когда закончите.
void DrawScene()
{
Draw2DStuff();
glMatrixMode(GL_PROJECTION);
glPushMatrix(); // Save old projection matrix
gluPerspective(...); // Load new projection matrix
Draw3DStuff();
glMatrixMode(GL_PROJECTION);
glPopMatrix(); // Restore old projection matrix
}
Просто будьте осторожны с буфером глубины - вам может понадобиться поэкспериментировать с настройками буфера глубины при переключении между 2D и 3D рендерингом, чтобы все было нарисовано правильно.