首先将漫游放在一边,说说导入3d模型。opengl并没有提供什么方便的函数一次性将模型导入到程序,他也没法做,现在的模型格式很多,有的都快被淘汰了,但还是有人在用。如果你想将模型导入到程序,不妨先试试3ds格式的,我以前就试过。你在网上可以搜到很多导入3ds格式模型的代码,通常他们都不是很完美,你需要对他们进行修改,以支持纹理和动画。
md2格式的模型也不错,可以查到相关资料。主要还是得了解保存的模型文件的存储方式,然后读取并组织显示。
再说漫游,刚学directx时也是这样,我不知道如何让自己在场景中跑起来,于是使用平移,将场景移动,而摄像机不动,这样顶点都要进行矩阵计算,反应很卡。后来改用移动摄像头的方法,用opengl的函数就是glulookat(...),调节前6个参数就可以了。
会修改摄像头还不够,必须要绘制出起伏的地形,并能实时得到摄像头垂直下方地形的高度以正确放置摄像头的y坐标。一般你可以通过一张raw图片来得到整个地面的每个点的y坐标,及高度,raw图片是8位的,0~255之间定义opengl的y范围,当然可以乘上一个比例系数进行缩放。具体可以在网上搜到地形的实现方法。
如果还有不懂得可以问我~
photoshop|
dreamweaver|
svg|
webgl|
visual studio|
powerdesigner|
eclipse|
git|
apache ant|
atom|
composer|
codesmith|
flex|
gradle|
maven|
sublime text3|
svn|
tableau|
vim|
chrome开发者工具|
opengl|
unity|
direct3d|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....