看了N份说明,还是不明白glFrustum到底怎么回事,做了个实验
glFrustum(-15,15,-15,15,2,100);glBegin(GL_LINE_LOOP);
glVertex3f(-5,-5,-5);
glVertex3f(0,0,-5);
glVertex3f(-5,5,-5);
glEnd();                     //画个三角形
glBegin(GL_LINE_LOOP);
glVertex3f(0,0,0);
glVertex3f(10,0,10);
glVertex3f(10,10,10);
glVertex3f(0,10,0);        //画个矩形
glEnd();为啥屏幕上只显示一个三角形,那个矩形怎么显不出来呢

解决方案 »

  1.   

    glFrustum(xwmin,xwmax,ywmin,ywmax,dnear,dfar)函数中,dnear和dfar指定从坐标系原点沿负z轴到近和远裁剪平面的距离,其中近平面是观察平面且投影参考点为原点,dnear和dfar均大于0.
    如果只使用glFrustum(-15,15,-15,15,2,100),观察到的应该是z = -2 ~~ z = -100 之间的棱台区域.
      

  2.   

    glBegin(GL_LINE_LOOP); 
    glVertex3f(0,0,0); 
    glVertex3f(10,0,0); 
    glVertex3f(10,10,0); 
    glVertex3f(0,10,0);        //画个矩形 
    glEnd(); 
    你那个不叫矩形,是个三维的东东,矩形可是二维的啊
      

  3.   

    http://blog.csdn.net/huawenguang/archive/2007/03/30/1546150.aspx
    这个说的很清楚了,glFrustum其实是用来画三维的东东,如果你只是画二维的用glOrtho就可以了