世界的构建--场景管理LOD技术
2011-03-19 19:39
549 查看
地形
•1.规则网格地形•
2.高度图(高度图用来描述地形的高度信息。高度图实际上是一个数组,数组中的每个元素都存储着地形网格中对应顶点的高度数据(在地形渲染的另一种方法中,高度图中存储的数据是地形中每一个顶点的高度信息)。
规则网格构成的地形,只要网格的划分足够细,就可以足够模拟真实的地形,但是也带来系统资源的消耗的增加。
左图是渲染所有三角形的地形快,右图是减少三角形后的地形快,其中只渲染黑色顶点组成的三角形。
地形高级技术
地形LOD技术
Geomipmap、Roam、QuadTree。。。
•基本原理
通过判断某个网格在进行三角形删减优化后造成的误差在屏幕上的投影是否处于可接受范围来确定是否删减三角形。
什么是LOD
•Level of Detail
•通过在不影响屏幕视觉的情况下,减少三角形渲染来获得提高渲染效率的方法
•LOD的作用:
在距离摄像机近的地方显示更细致的效果
增加可视距离
减少计算机资源消耗
•
地形LOD、模型LOD
四叉树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算法类似,即判断如果不细分的情况下产生的高度差的误差是否处于可接受范围
处理不同邻接节点之间不同LOD级别的问题,有两种方法
1、为大的LOD节点增加一条新边
2、将小的LOD节点移除一条边
可以看出方法2渲染得图形的三角形比方法1规范,那么如何确定移除节点的哪条边?
1、首先按照前述方法确定各个四叉树的分形状况并确定各个节点的LOD级别
2、然后对各个节点和邻接节点的LOD级别进行处理,将大的节点细分,确保每个节点的划分次数至多只相差1
3、根据节点和邻接节点的划分级别确定渲染需要移除的边
实际游戏中的LOD地形删减
•1.规则网格地形•
2.高度图(高度图用来描述地形的高度信息。高度图实际上是一个数组,数组中的每个元素都存储着地形网格中对应顶点的高度数据(在地形渲染的另一种方法中,高度图中存储的数据是地形中每一个顶点的高度信息)。
规则网格构成的地形,只要网格的划分足够细,就可以足够模拟真实的地形,但是也带来系统资源的消耗的增加。
左图是渲染所有三角形的地形快,右图是减少三角形后的地形快,其中只渲染黑色顶点组成的三角形。
地形高级技术
地形LOD技术
Geomipmap、Roam、QuadTree。。。
•基本原理
通过判断某个网格在进行三角形删减优化后造成的误差在屏幕上的投影是否处于可接受范围来确定是否删减三角形。
什么是LOD
•Level of Detail
•通过在不影响屏幕视觉的情况下,减少三角形渲染来获得提高渲染效率的方法
•LOD的作用:
在距离摄像机近的地方显示更细致的效果
增加可视距离
减少计算机资源消耗
•
地形LOD、模型LOD
四叉树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算法类似,即判断如果不细分的情况下产生的高度差的误差是否处于可接受范围
处理不同邻接节点之间不同LOD级别的问题,有两种方法
1、为大的LOD节点增加一条新边
2、将小的LOD节点移除一条边
可以看出方法2渲染得图形的三角形比方法1规范,那么如何确定移除节点的哪条边?
1、首先按照前述方法确定各个四叉树的分形状况并确定各个节点的LOD级别
2、然后对各个节点和邻接节点的LOD级别进行处理,将大的节点细分,确保每个节点的划分次数至多只相差1
3、根据节点和邻接节点的划分级别确定渲染需要移除的边
实际游戏中的LOD地形删减
相关文章推荐
- 基于.NET WPF+ASP.NET MVC4技术构建夜猫商务会所运营管理平台
- 基于OpenGL和LOD技术的海洋场景实时建模仿真
- [ InfoPath应用场景:库存管理 ] 在InfoPath Form Service利用WSS Web Service技术,通过VSTA代码把复杂表单写入SharePoint列表数据库 (一)
- [ InfoPath应用场景:库存管理 ] 在InfoPath Form Service利用WSS Web Service技术,通过VSTA代码把复杂表单写入SharePoint列表数据库 (二)
- 基于.NET WPF+ MVC4技术构建夜猫商务会所运营管理平台一体化解决方案
- 《云数据中心构建实战:核心技术、运维管理、安全与高可用》点评赠书获奖名单
- 基于 HTML5 的 WebGL 技术构建 3D 场景(一)
- Go游戏服务器开发的一些思考(三十五):无缝世界场景构建与同步(二)
- 基于ASP.NET4.0、ExtJs技术构建酒店管理系统(更新完毕)
- 基于LOD的大规模真实感室外场景实时渲染技术的初步研究 part II&III
- 基于LOD的大规模真实感室外场景实时渲染技术的初步研究
- 基于ASP.NET4.0、ExtJs技术构建酒店管理系统(更新完毕)
- 基于LOD的大规模真实感室外场景实时渲染技术的初步研究 PART I
- 引擎技术研究之场景管理------四叉树与视椎剔除技术
- 阿里的开源思想:与世界讨论中国的互联网技术与场景
- 基于LOD的大规模真实感室外场景实时渲染技术的初步研究(1)
- Quake3场景管理技术研究报告
- 引擎技术研究之场景管理------四叉树与视椎剔除技术
- Go游戏服务器开发的一些思考(三十七):无缝世界场景构建与同步(四)
- 阿里巴巴布局自动驾驶技术,夺道路场景分割技术三项世界第一