查看: 2298|回复: 10

基于四叉树的动态LOD网格中视点移动的问题

[复制链接]

该用户从未签到

发表于 2012-10-25 12:42:49 | 显示全部楼层 |阅读模式
我做了一个基于四叉树的动态LOD网格,有点问题:
如果每一帧都更新整个四叉树并重新绘制的话,速度很慢。
我现在是判断视点移动了一定距离或转动了一定角度才更新四叉树。速度是上来 了,但是发现移动距离不大时,下个网格分块还没出来,网格就不能充满整个屏幕了。
问下:各位有什么比较好的处理方法吗?怎么去判断是否需要更新整个四叉树?先谢谢各位了

该用户从未签到

发表于 2012-10-25 12:52:16 | 显示全部楼层
怎么个动态法?

该用户从未签到

 楼主| 发表于 2012-10-25 12:56:20 | 显示全部楼层
liuzhiyu123 发表于 2012-10-25 12:52
怎么个动态法?

要做的是海浪网格,现在还没加入顶点高度,只是网格就出现了这样的问题了

该用户从未签到

 楼主| 发表于 2012-10-25 23:49:13 | 显示全部楼层
没有人知道吗?帮帮忙啊

该用户从未签到

发表于 2012-10-29 10:05:40 | 显示全部楼层
我没有明白您要做什么,四叉树的策略当然是上一层级包含了下一层级的4个子节点了,为什么会有空白期?

该用户从未签到

 楼主| 发表于 2012-10-29 23:12:04 | 显示全部楼层
array 发表于 2012-10-29 10:05
我没有明白您要做什么,四叉树的策略当然是上一层级包含了下一层级的4个子节点了,为什么会有空白期?

为了减少更新对CPU的消耗,我并不是每帧都更新的,而是根据视点是否变化到一定程度判断是否需要更新的,但是这样就会出现空白期,不知道该怎么解决

该用户从未签到

发表于 2012-10-30 10:38:24 | 显示全部楼层
呃,那显然是您的更新策略需要更精细的调整了

该用户从未签到

 楼主| 发表于 2012-10-30 10:43:26 | 显示全部楼层
array 发表于 2012-10-30 10:38
呃,那显然是您的更新策略需要更精细的调整了

嗯,我现在是把视锥体往后移了一点,还是不能很好解决,还有怎么扩大视锥体的视角啊?

该用户从未签到

发表于 2012-10-30 10:56:07 | 显示全部楼层
wangsli 发表于 2012-10-30 10:43
嗯,我现在是把视锥体往后移了一点,还是不能很好解决,还有怎么扩大视锥体的视角啊?

camera setProjectMatrix

该用户从未签到

 楼主| 发表于 2012-10-30 11:06:29 | 显示全部楼层
liuzhiyu123 发表于 2012-10-30 10:56
camera setProjectMatrix

哦,您理解错了,我的意思是在视锥体裁剪的时候,把虚拟的视锥体向后移并放大,而不改变当前的相机参数,这样裁剪后得到的可见区域就比实际视锥体的范围大了,这样移动视点的时候可以解决空白问题,但效果不是很好

该用户从未签到

发表于 2012-10-30 12:03:07 | 显示全部楼层
wangsli 发表于 2012-10-30 10:43
嗯,我现在是把视锥体往后移了一点,还是不能很好解决,还有怎么扩大视锥体的视角啊?

"还有怎么扩大视锥体的视角啊?"

您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表