使用 glaux 显示时,必须加上 reshape 响应

    今天使用 glaux库作为 opengl 的显示, 开始时没有添加 reshape 响应, 绘制的图像没有显示(或显示不是需要的那样), 后添加reshape响应后, 显示结果正常. 代码如下:

 

auxInitDisplayMode (AUX_SINGLE | AUX_RGBA);
 auxInitPosition (0, 0, winW, winH);
 auxInitWindow (L"Display Cameras");
 GLinit();
 auxReshapeFunc(myReshape);

 auxMainLoop(drawCameras);

 

void CALLBACK myReshape(GLsizei w, GLsizei h)
{
 glViewport(0, 0, w, h);
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 gluPerspective(60.0f,GLfloat(w)/GLfloat(h),m_fMaxRad,m_fMaxRad*9);
//  if (w <= h)
//   glOrtho (-1.5, 1.5, -1.5*(GLfloat)h/(GLfloat)w, 1.5*(GLfloat)h/(GLfloat)w, -10.0, 10.0);
//  else
//      glOrtho (-1.5*(GLfloat)w/(GLfloat)h, 1.5*(GLfloat)w/(GLfloat)h, -1.5, 1.5, -10.0, 10.0);
 glMatrixMode(GL_MODELVIEW);
 glLoadIdentity();
}

posted on 2010-08-10 00:01  applesun0757  阅读(196)  评论(0)    收藏  举报