lib3ds + Tao openGL не отображается модель

Всем привет, в общем проблема ясна из названия темы, в SimpleOpenGlControl не отображается модель.

Считывание 3д модели происходит библиотекой 3dslib

Вот код, может кто-то поймёт в чем дело

Lib3dsFile^ model;
       Lib3dsFile ^ tmpmodel;
       List<Lib3dsMesh^> mesh;
       Lib3dsCamera^ camera;
       List<Lib3dsFace^> face;
       Lib3dsLight^ light;
       Lib3dsMaterial^ material;
static float rotat=0;
//GLuint vertexVBO,normalVBO,textureVBO;
unsigned long total_face;
private: void lightup()
{
   Gl::glShadeModel(Gl::GL_SMOOTH);
   Gl::glEnable(Gl::GL_DEPTH_TEST);
   Gl::glEnable(Gl::GL_CULL_FACE);
   Gl::glFrontFace(Gl::GL_CCW);
   float gambient[]={0.2,0.2,0.2,1.0};
   float lightpos[]={1.0,1.0,1.0,0.0};
   float lambient[]={1.0,1.0,1.0,1.0};
   float ldiffuse[]={1.0,1.0,1.0,1.0};
   float lspecular[]={0.3,0.3,0.3,1.0};
  Gl::glLightfv(Gl::GL_LIGHT0,Gl::GL_DIFFUSE,*ldiffuse);
   Gl::glLightfv(Gl::GL_LIGHT0,Gl::GL_AMBIENT,*lambient);
   Gl::glLightfv(Gl::GL_LIGHT0,Gl::GL_SPECULAR,*lspecular);
   Gl::glLightfv(Gl::GL_LIGHT0,Gl::GL_POSITION,*lightpos);
   Gl::glLightModelfv(Gl::GL_LIGHT_MODEL_AMBIENT,*gambient);
   Gl::glEnable(Gl::GL_LIGHTING);
   Gl::glEnable(Gl::GL_LIGHT0);
}
private: void getfaces()
{
   total_face=0;
   for(long meshcount=0;meshcount<model->meshes->Count;meshcount++)
      total_face+=mesh[meshcount]->nfaces;
}

private: void display()
{
   Gl::glEnable(Gl::GL_DEPTH_TEST);
   Gl::glDepthFunc(Gl::GL_LEQUAL);
   Gl::glClear(Gl::GL_COLOR_BUFFER_BIT|Gl::GL_DEPTH_BITS);
   Gl::glLoadIdentity();
   lightup();
   Gl::glScalef(0.5,0.5,0.5);
   Gl::glTranslatef(0.0,-1500.0,-2500.0);
  Gl::glRotatef(280, 1, 0, 0);
  Gl::glRotatef(rotat, 0, 0, 1);
    long meshcount;
   for(meshcount=0;meshcount<model->meshes->Count;meshcount++)
   {
    for(int fd=0;fd<mesh[meshcount]->faces->Count;fd++)
      face.Add(mesh[meshcount]->faces[fd]);
      for(long i=0;i<mesh[meshcount]->nfaces;i++)
      {
        // glMaterialfv(GL_FRONT,GL_DIFFUSE,material[face[i].material]->diffuse);
       //  glMaterialfv(GL_FRONT,GL_AMBIENT,material[face[i].material]->ambient);
       //  glMaterialfv(GL_FRONT,GL_SPECULAR,material[face[i].material]->specular);
        Gl::glBegin(Gl::GL_TRIANGLES);
      Gl::glColor3f(50.0,100.0,0.0);
        Gl::glVertex3fv(mesh[meshcount]->vertices[face[i]->index[0]]->ToArray());
        Gl::glVertex3fv(mesh[meshcount]->vertices[face[i]->index[1]]->ToArray());
        Gl::glVertex3fv(mesh[meshcount]->vertices[face[i]->index[2]]->ToArray());
        Gl::glEnd();
      }
    face.Clear();
   }

}
static void Timer(int value)
{
   rotat+=1.0f;
  if(rotat>=360)
    rotat=0;
   Glut::glutPostRedisplay();
   // Glut::glutTimerFunc(30, Timer, 0);
  Gl::glClear(Gl::GL_COLOR_BUFFER_BIT | Gl::GL_DEPTH_BUFFER_BIT);
  Gl::glLoadIdentity();
}

private: void keypress(unsigned char key,int x,int y)
{
   switch(key)
   {
   case 27:
      exit(0);
      break;
   }
}
private: void reshape(int w,int h)
{
   if(h==0) h=1;
   Gl::glViewport(0,0,w,h);
   Gl::glMatrixMode(Gl::GL_PROJECTION);
   Gl::glLoadIdentity();
   Glu::gluPerspective(45.0,w/h,0.0,1000.0);
   Gl::glMatrixMode(Gl::GL_MODELVIEW);
   Gl::glLoadIdentity();
}
private: System::Void button4_Click(System::Object^  sender, System::EventArgs^  e)
     {

      previev();
      reshape(AnT->Width,AnT->Height);
      model=LIB3DS::lib3ds_file_open(WndThread::directory_name);
      for(int i=0;i<model->meshes->Count;i++)
        mesh.Add(model->meshes[i]);
      // инициализация Glut
      Glut::glutInitDisplayMode(Glut::GLUT_RGB|Glut::GLUT_DOUBLE|Glut::GLUT_DEPTH);
      Gl::glClearColor(0.0, 0.0, 0.0, 0.0);
      Gl::glClearDepth(1.0);
      Gl::glShadeModel(Gl::GL_FLAT);
      Gl::glPushMatrix();
      display();
      Gl::glPopMatrix();
      Gl::glFlush();

      AnT->Invalidate();

     }