【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 2679|回复: 2

世界的构建--场景管理LOD技术

[复制链接]
发表于 2009-6-16 09:27:03 | 显示全部楼层 |阅读模式
地形

?1.规则网格地形?
2.高度图(高度图用来描述地形的高度信息。高度图实际上是一个数组,数组中的每个元素都存储着地形网格中对应顶点的高度数据(在地形渲染的另一种方法中,高度图中存储的数据是地形中每一个顶点的高度信息)。
 
规则网格构成的地形,只要网格的划分足够细,就可以足够模拟真实的地形,但是也带来系统资源的消耗的增加。
 
左图是渲染所有三角形的地形快,右图是减少三角形后的地形快,其中只渲染黑色顶点组成的三角形。
 
地形高级技术
地形LOD技术
Geomipmap、Roam、QuadTree。。。
?基本原理
通过判断某个网格在进行三角形删减优化后造成的误差在屏幕上的投影是否处于可接受范围来确定是否删减三角形。
什么是LOD
?Level of Detail
?通过在不影响屏幕视觉的情况下,减少三角形渲染来获得提高渲染效率的方法
?LOD的作用:
在距离摄像机近的地方显示更细致的效果
增加可视距离
减少计算机资源消耗
?地形LOD、模型LOD
 楼主| 发表于 2009-6-16 09:27:42 | 显示全部楼层
四叉树LOD
?对地形采用四叉分割的方法,来判断和生成地形的连续LOD效果,提高地形的渲染效率
高效的进行LOD优化
提供紧凑的数据存储
提供高效的地形数据获取
高效的优化和剪裁
?基本算法
Draw_Square (S)
{
   if(S节点需要再次细分)
  {
    将S分为四个节点S1,S2,S3,S4
     依次
     Draw_Square(S1)
     Draw_Square(S2)
     Draw_Square(S3)
     Draw_Square(S4)
    }
  else
  渲染 S
}
判断S是否需要细分的原则和GeoMipmap算法类似,即判断如果不细分的情况下产生的高度差的误差是否处于可接受范围

 楼主| 发表于 2009-6-16 09:28:04 | 显示全部楼层
处理不同邻接节点之间不同ANG="EN-US">LOD级别的问题有两种方法
ANG="EN-US">1为大的ANG="EN-US">LOD节点增加一条新边
ANG="EN-US">2将小的ANG="EN-US">LOD节点移除一条边 
可以看出方ANG="EN-US">2渲染得图形的三角形比方ANG="EN-US">1范,那么如何确定移除节点的哪条边

 

ANG="EN-US">1、首先按照前述方法确定各个四叉树的分形状况并确定各个节点ANG="EN-US">LOD级别
2、然后对各个节点和邻接节点的ANG="EN-US">LOD级别进行处理,将大的节点细分,确保每个节点的划分次数至多只相差1
3、根据节点和邻接节点的划分级别确定渲染需要移除的边
 
实际游戏中的LOD地形删减

 

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

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2025-6-24 21:09

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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