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

本文介绍了一个OpenGL显示问题的解决方案。作者最初未添加reshape响应导致图像显示异常,在添加reshape响应后,图像显示恢复正常。文中提供了具体的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    今天使用 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();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值