使用基于GPU的Geometry Clipmap渲染地形(上)

本文介绍了使用GPU基于Geometry Clipmap的地形渲染技术,通过顶点纹理减少CPU负担,实现地形LOD。文章讨论了Geometry Clipmap的基本概念,其优势包括简洁的数据结构、平滑的视觉效果等。详细阐述了GPU实现方法,包括数据结构、纹理处理、渲染过程中的视锥体裁剪等,并强调了利用GPU进行高度图采样和高度数据合成的优势。
摘要由CSDN通过智能技术生成

使用基于GPUGeometry Clipmap渲染地形(Terrain Rendering Using GPU-Based Geometry Clipmaps)(上)

 翻译:clayman
clayman_joe@yahoo.com.cn
仅供个人学习使用,勿用于任何商业用途,转载请注明作者^_^

注:这篇文章翻译的是《GPU Gem2》中第二章的内容,老早就翻译的东西了,但因为翻的不太好,一直放着,找不到原版的PDF文档,截图有些是在网上找的,有些是我自己做的,大家凑活看了,基本和原图还是差不多的。《GPU Gem2》中的内容实在很难,本人水平有限,有错的地方还请大家指正。

          Geometry clipmap是用于渲染地形LOD的新方法。它把地形缓存在一组嵌套的规则网格中,同时在观察点移动时,不断更新这些数据。和之前不规则网格(irregular-mesh)技术相比,规则的网格有很多优点:简洁的数据结构、平滑的视觉效果,稳定的渲染速率,合适的分级(graceful degradation),高效的压缩,以及运行时的细节合成(synthesis)。这里,我们将描述一种通过顶点纹理(vertes texture)实现的几何clipmap。把地形几何体作为图片来处理,几乎所有计算都能通过GPU来完成,从而减少CPU的负担。

 

1.1 Geometry clipmap简述

         在大型户外环境中,处理地形数据将会占用大量的储存空间以及渲染带宽。我们已经开发了多种LOD技术来处理地形。但是,大多数技术需要在运行时创建和修改mesh数据(顶点和索引缓冲),而这些操作对当前的图形处理技术(graphics architecture)来说代价是很大的。此外,不规则的网格通常需要使用CPU来处理,而在诸如游戏之类的应用中,CPU本来就不够用了。

         Gemetry clipmap框架中(Losasso and Hoppe 2004)把地形作为一张2D的高度图(elevation image)来处理,并预先把它过滤为一张包含L层的mipmap金字塔。

处理复杂地形时,完整的金字塔可能对内存来说太大了。Geometry clipmap结构对每一层进行窗口大小为n x n的采样并缓存,这和Tanner 1998介绍的texture clipmap方法有些类似。对观察者来说,这些窗口相当于一组嵌套规则的网格。注意,高细节层次所占的空间总是比较粗糙的层次少。这样的目的是保证在屏幕空间,所有三角形都统一大小(the aim is to maintain trangles that are uniformly sized in screen space)。如果clipmap大小为 n = 255, 那么在1024 x 768的分辨率下,每个三角形大约是5

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值