游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2827|回复: 6

DX,导入大量x模型

[复制链接]

14

主题

43

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2008-8-14 14:59:00 | 显示全部楼层 |阅读模式
如题,导入大量的人物、建筑物模型后,机子就非常卡了,要如何解决呢?

以前遇到读入一个大型城市地皮的网格模型机子就非常卡,找到一个NodeTree类,用八叉树或四茶树对模型进行分解,但用了这个类后,就什么都不显示了,或显示其中一块地板,还没有贴图。。。。

现在主要是问:导入大量模型后怎么优化让机子不卡?
我已经使用了Frustum视锥的类。
以前读入一个网格模型然后渲染一千遍机子才有点卡,
而现在是读入了66个网格模型,然后各渲染一次,就非常卡了。

14

主题

43

帖子

84

积分

注册会员

Rank: 2

积分
84
 楼主| 发表于 2008-8-14 15:56:00 | 显示全部楼层

Re:DX,导入大量x模型

谢谢大家支持。

已经解决了,汽车后视镜的问题。
我的后视镜也是要渲染一边同样的场景,但后视镜没有使用Frustum视锥,所以渲染的时候相当于后视镜全部渲染建筑模型了。给后视镜加了个Frustum就解决了。。
唉。。。搞了一天。

后视镜的摄像头也是,搞了2天多,最后其实就两行代码就搞定了。。。。。

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2008-8-14 16:11:00 | 显示全部楼层

Re:DX,导入大量x模型

裁减+低模+合适尺寸的DDS贴图
同样的模型共用同一套mesh和贴图,你的问题就解决了

14

主题

43

帖子

84

积分

注册会员

Rank: 2

积分
84
 楼主| 发表于 2008-8-14 17:10:00 | 显示全部楼层

Re:DX,导入大量x模型

哇。。
楼上两行字感觉好像包括了好多好玩的东西。。

虽然我可以搜一下,但我还是更希望能通过大侠们解释,谢谢,哈哈

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2008-8-14 17:21:00 | 显示全部楼层

Re:DX,导入大量x模型

举个例子,一个场景里面有100颗树,镜头里面一次看到10颗其余的不绘制

A.把100颗树加载100次,100个mesh,100套贴图 全部绘制,My God,这是最糟糕的做法
B.把树加载1次,一套mesh,一套贴图,换100次世界变换,全部绘制,效率高一点了,至少内存占用没那么多了
C.进行Frustum Culling ,不在视锥范围内的树不渲染,你会发现,帧数很快就上去了,要的就是这个效果
D.进一步优化:动态加载和释放(多线程管理),超大的场景,超多不同种类的模型,就很需要这个啦

另外贴图建议全部用DDS压缩贴图,不宜过大,也不建议用其它格式的贴图。
我说的已经很具体了

4

主题

220

帖子

220

积分

中级会员

Rank: 3Rank: 3

积分
220
发表于 2008-8-15 09:47:00 | 显示全部楼层

Re:DX,导入大量x模型

tonykee,我支持! 简单的说就是用
1. 享元模式管理模型,图片资源;
2. 看不见的东西不渲染;
3. 多线分而制之;

你的多叉树不显示应该是算法有问题

14

主题

43

帖子

84

积分

注册会员

Rank: 2

积分
84
 楼主| 发表于 2008-8-16 08:26:00 | 显示全部楼层

Re:DX,导入大量x模型

超级感谢!

回楼上,那个算法是书上的源代码,读取随书附带的模型No Problem,But load 自己做的模型就出现这个问题了。唉。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-21 14:51

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表