3d模型导入问题

xiaozhu_zy 2009-03-04 10:45:01
我是用opengl将3d模型导入,利用VC.NET的界面

可是,我导入的模型总是有点变形,不知道怎么回事?是opengl设置的不对么?

有人跟我说可能是OnSize中的窗口设置不对,我也不知道怎么改,请大家帮我一下

还有这个帖子我不知道应该发到那个版面?好像没有opengl的专区啊
所以,请版主不要删啊!!谢谢

void COBJLoaderView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);

// TODO: Add your message handler code here
if(cy==0)
{
cy=1;
}
glViewport(0, 0, cx, cy);
glMatrixMode(GL_PROJECTION);//选择投影矩阵
glLoadIdentity();//重置投影矩阵初始化工程矩阵
gluPerspective(45.0f,(GLfloat)cx/(GLfloat)cy,0.1f,3000.0f);
glMatrixMode(GL_MODELVIEW);//选择模型观察矩阵
glLoadIdentity();// 重置模型观察矩阵

}

我想帖个效果图,可是总是需要网络图片,所以就不帖了。、
我导入了一个直升机的模型,出来以后机身变宽了,螺旋桨很长,感觉一点都不成比例
...全文
341 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaozhu_zy 2009-03-06
  • 打赏
  • 举报
回复
解决了。谢谢大家
后来找到原因了,是glscale设置的有问题
张赐 2009-03-04
  • 打赏
  • 举报
回复
按道理说这样设置是正确的

glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(80,(float)w/(float)h,1.0,5000.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

楼主试着修改上面参数的值试试
joyancy21 2009-03-04
  • 打赏
  • 举报
回复
OnSize 没有问题,检查其他地方吧。
donjin9 2009-03-04
  • 打赏
  • 举报
回复
(GLfloat)cx/(GLfloat)cy这个出问题会这样
调试下

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧