今天使用 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();
}
本文介绍了一个OpenGL显示问题的解决方案。作者最初未添加reshape响应导致图像显示异常,在添加reshape响应后,图像显示恢复正常。文中提供了具体的代码实现。
1445

被折叠的 条评论
为什么被折叠?



