开发环境是Visual Studio 2005。
编译没有错误,但是执行却出现了这个问题。
我在CFormView中显示OpenGL,自己定义了一个类COpenGL,问题就出在了这个类中OnSize的函数
我的OnSize函数是这样的:
{
glViewport(0, 0, cx, cy);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45, 1.0, 0.1, 100);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
把OnSize函数内部的代码隔掉,就没有问题。不隔掉就有问题。

解决方案 »

  1.   

    if (cx != 0 && cy != 0)
    {
       ...你的代码
    }
      

  2.   

    单从这段代码不能找到具体问题
    还应该考虑
    1 OnSize的时候view是处在当前RC下的么?如果没有,那些OpenGL函数将失效
    2 先调用父类的OnSize
      

  3.   

    首先感谢各位大虾的帮助。
    今天终于找到问题的出处了。
    问题出在gluPerspective这一句。
    用其他的投影函数,比如glFrustum或者glOrtho就没有问题。
    虽然解决了问题,但是自己仍然不知道gluPerpective为什么错。