怎么将用3dmax做出的模型通过opengl在vc++中实现漫游?

 我来答
chengcong0812
2011-07-20 · TA获得超过125个赞
知道答主
回答量:61
采纳率:0%
帮助的人:75.5万
展开全部
首先将漫游放在一边,说说导入3d模型。opengl并没有提供什么方便的函数一次性将模型导入到程序,他也没法做,现在的模型格式很多,有的都快被淘汰了,但还是有人在用。如果你想将模型导入到程序,不妨先试试3ds格式的,我以前就试过。你在网上可以搜到很多导入3ds格式模型的代码,通常他们都不是很完美,你需要对他们进行修改,以支持纹理和动画。
md2格式的模型也不错,可以查到相关资料。主要还是得了解保存的模型文件的存储方式,然后读取并组织显示。
再说漫游,刚学directx时也是这样,我不知道如何让自己在场景中跑起来,于是使用平移,将场景移动,而摄像机不动,这样顶点都要进行矩阵计算,反应很卡。后来改用移动摄像头的方法,用opengl的函数就是gluLookAt(...),调节前6个参数就可以了。
会修改摄像头还不够,必须要绘制出起伏的地形,并能实时得到摄像头垂直下方地形的高度以正确放置摄像头的y坐标。一般你可以通过一张raw图片来得到整个地面的每个点的y坐标,及高度,raw图片是8位的,0~255之间定义opengl的y范围,当然可以乘上一个比例系数进行缩放。具体可以在网上搜到地形的实现方法。
如果还有不懂得可以问我~
追问
还有问题就是关于“#define MATNAME       0xA000”当中的如何确定的啊 我看很多程序都这样写的
追答
这个可能和模型的格式有关系,模型的存储格式都有严格的规定,你需要先差看看模型的格式定义。3ds格式比较复杂,而且文档不多,所以学习起来上手较难。
xx375
2011-07-18
知道答主
回答量:51
采纳率:0%
帮助的人:19.2万
展开全部
自己实现一个 cramer 类 或者去网上 找例子、、很多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式