   From Ortho  to  Perspective..
  I have the set the ortho for my data with these boundaries and can view view it.I followed the steps to convert ortho to perspective and I get blank screen.Can you suggest the soultion..Xmin=398291.437500Xmax=400033.000000Ymin=135049.078125Ymx=137133.796875Zmin=-5.624723Zmax=84.187180Ortho=====void resizeGL(int w, int h){if(h<=0) h=1 ;//To Preserve Aspect Ratiofloat fWorldW=sBoundingBox.fMaxX-sBoundingBox.fMinX;float fWorldH=sBoundingBox.fMaxY-sBoundingBox.fMinY;float fWorldR=fWorldW/fWorldH;float fViewportR=w/h;if(fWorldR>fViewportR){glViewport(10,50,w,w/fWorldR);}else{glViewport(10,50,h*fWorldR,h);}glMatrixMode (GL_PROJECTION);glLoadIdentity ();//Assign Bounding Box Coordinates of Shapefile to glOrtho()glOrtho(sBoundingBox.fMinX, sBoundingBox.fMaxX,sBoundingBox.fMinY,sBoundingBox.fMaxY,sBoundingBox.fMinZ,sBoundingBox.fMaxZ);printf("xmin= %f,xmax=%f,ymin= %f,ymax=%f,zmin= %f,zmax=%f",sBoundingBox.fMinX, sBoundingBox.fMaxX,sBoundingBox.fMinY,sBoundingBox.fMaxY,sBoundingBox.fMinZ,sBoundingBox.fMaxZ);glMatrixMode(GL_MODELVIEW);}void GLDraw(){glClear (GL_COLOR_BUFFER_BIT);glLoadIdentity ();glColor4f(1.0,0.0,0.0,1.0);float xdelta=(sBoundingBox.fMinX+sBoundingBox.fMaxX)/2;float ydelta=(sBoundingBox.fMinY+sBoundingBox.fMaxY)/2;float zdelta=(sBoundingBox.fMinZ+sBoundingBox.fMaxZ)/2;glPushMatrix();glTranslatef(xdelta,ydelta,zdelta);glRotatef(-45.0f,1,0,0);glTranslatef(-xdelta,-ydelta,-zdelta);DrawPolygonShapefile1();//Rendering logicglPopMatrix(); glFlush();}Perspective==========double ConvertDegsToRads (double d) {return d * M_PI/180.0;}void resizeGL(int w, int h){if(h<=0) h=1 ;//glViewport (0, 0, (GLsizei) w, (GLsizei) h);//To Preserve Aspect Ratiofloat fWorldW=sBoundingBox.fMaxX-sBoundingBox.fMinX;float fWorldH=sBoundingBox.fMaxY-sBoundingBox.fMinY;float fWorldR=fWorldW/fWorldH;float fViewportR=w/h;if(fWorldR>fViewportR){glViewport(10,50,w,w/fWorldR);}else{glViewport(10,50,h*fWorldR,h);}glMatrixMode(GL_PROJECTION);glLoadIdentity();GLdouble vvLeft = sBoundingBox.fMinX;GLdouble vvRight = sBoundingBox.fMaxX;GLdouble vvBottom =sBoundingBox.fMinY;GLdouble vvTop = sBoundingBox.fMaxY;GLdouble vvNear = sBoundingBox.fMinZ;GLdouble vvFar = sBoundingBox.fMaxZ;GLdouble vvDepth = vvFar - vvNear;GLdouble vvHeight = vvTop - vvBottom;const GLdouble vvFovDegs = 45.0;GLdouble vvFovRads = ConvertDegsToRads(vvFovDegs);vvNear = (vvHeight / 2.0) / tan(vvFovRads / 2.0);vvFar = vvNear + vvDepth;glFrustum(vvLeft, vvRight, vvBottom, vvTop, vvNear, vvFar);glMatrixMode(GL_MODELVIEW);glTranslated(0,0,-(vvNear + (vvDepth / 2.0)));glLoadIdentity();}void GLDraw(){glClear (GL_COLOR_BUFFER_BIT);glLoadIdentity (); DrawPolygonShapefile1(); glFlush();}   
  The solution is to understand what orthographic and perspective projections are, what the parameters to the two functions mean, and what the differences are. You cannot reasonably take the parameters from one and stick into the other, with some basic near and far plane conversions, and expect to get some reasonable result from it. The Red Book contains some useful reading; chapter 3 may be what you need.For example, your orthographic projection sets the visible Z-range from -84 to 5 (approximate values, assuming the values you posted correspond to the sBoundingBox structure), and your perspective projection sets the visible Z-range to -430 to -520. So the visible ranges are disjoint, and what is visible is one cannot be visible in the other. That doesn't take the differences in shape and orientation of the side-planes into consideration either.   ;  Bob,thanks a lot for the suggestion.In chapter 3,"Troubleshooting Transformations" came to may aid.I am now able to view my buldings in perspective.Lesson of the day-->"In OpenGL,it is always good read between-the-lines".