真实感森林的建模与可视化的详细介绍

真实感森林的建模与可视化的详细介绍

真实感森林的建模与可视化

Modeling and Visualizing a Real Forest

文章来源:IEEE Computer Graphics and Applications,大规模场景对象渲染技术系列文章(1)

Donald H.House,

Midori Kitagawa-DeLeon

Greg S.Schmidt,

Scott A. Arvin,

翻译:张嘉华

http://blog.csdn.net/javazjh

newzjh@126.com

翻译:梁成(女)

aliceliang@163.net

德克萨斯州A&M可视化实验室

华南理工大学计算机学院

介绍 (Introduction)

在德克萨斯州的A&M可视化实验室,我们最近和计算机科学家、心理学者、艺术家以及其他方面专家合作,共同创造了一个具有高度真实感、计算机生成的森林漫游。在美国农业部(USDA)的资助下,这项工作在亚利桑那州大学心理学实验室进行了实验。研究员希望测定在计算机生成可视化自然场景动画的现实程度,让人们得以了解虚拟环境和现实究竟有多少相似。这项计划将要比较项目在真实情况、图像带、图象漫游、和计算机模拟漫游下的效果。

1. 地点数据和信息
(Site data and information)

亚利桑那州大学科学家调查了一个位于美国犹他州南部自然森林中的风景优美的山坡,并且使用了激光范围搜索设备和GPU技术以定位每一颗树。初始的地形高程数据来自一个ARC/INFO三角网格,我们将它转换为规则网格。这让我们易于应用纹理和位移图到最终的渲染。该地点可视化的区域约占18亩地,150英尺高程,包含1600颗树。我们得到树木的数据文件——每一颗树一行数据。对于每颗树,有位置、高度主干和遮盖直径、类型、针的比例和生长角度。

1:在该地点平面图的

成阶层的摄像机路径


2. 树木几何定义 (Tree geometry definition)

Bogas分枝对象生成和动画系统生成树木的几何结构。该系统由俄亥俄州大学Midori Kitagawa-DeLeon研发,Bogas作为整个成果的骨干,——它为所有的每一颗个体的树修改树木调查数据为realistic representative几何结构。Bogas使用参数化的算法过程去“生产”有机的分枝结构。为了在Bogas中发育一个分枝,你必须首先定义几何图元元素,它构成对象并且定义了这些元素间的拓扑和几何关系。一个定制的软件工具提供了地点调查数据和Bogas的界面。该软件转换树木调查参数——如树木高度、树干直径、遮蓬半径为一个适当的Bogas参数集,Bogas的输出按椭圆体和多边形定义了树木的几何结构。我们使用额外的定制软件转换这树木几何到Pixar动画工作室的Renderman4软件的RIB文件格式。

2:作为纹理形式

的个体树木

3. 场景生成过程
(Scene generation process)

为了生成场景,我们首先定义一个摄像机路径,然后渲染每一颗树,并且最终创建动画中每一帧单独的图象。我们设计摄像机路径以模拟一个人沿着连续的路径漫步,在每个预先定义的点停下来,转360度,并且继续沿着路径走。该路径打算模拟真实的森林漫步远足旅行。图1展示了一个带有树木、摄像机路径和旋转点的该地点的布谷图。结合从初始调查得到的树木大小的数据,我们使用Bogas为每一颗树创建几何结构。在该点上,我们为每颗树渲染一个二维图象以创建纹理映射代表在最终图象中远离摄像机摄像机的树(见图2)。对于最终动画中的每一帧,我们创建一个Renderman4RIB文件。该定制软件从Bogas综合每一颗树的几何结构,树木坐落于最初调查所得的位置,矩形网格来源于地形数据,摄像机路径信息定义每一郑我们编写定制的Renderman shader为地面和树皮提供位移(displacement)和纹理图。针叶构成Engleman Spruce树叶,同样是由定制的位移(displacementshader生成的,它转换Bogas输出的简单的椭圆体的针叶为定人信服的针叶从,如图3

3 Needle closeup displacement map

4. Managing size and complexity

我们的生成过程,从初始化的地形和树木数据到渲染的每一帧,逻辑地创建了从数据到图象的管线。但是,许多其它实际问题需要解决,不仅仅我们需要解决的问题大校首先,我们想通过强制(brute force)使用最大可能的计算能力能够快速地给我们结果。我们在德克萨斯州A&M超级计算中心的SGI Power Challenge机器,带有24个每转200MHZ的处理器。我们每个处理器有1G内存空间,4G磁盘空间用于渲染,在几何用户之间共享。即使在这样的大型机器,我们首次尝试创建RIB文件并且试图渲染它们均失败了。RIB文件和里面的模型太大,超过了RAM能够处理的能力,——换来的结果是虚拟内存交换使得渲染非常慢。一些图象根本没有渲染,导致机器在几小时后崩溃。其它图象花费了超过10小时用于渲染,并且RIB文件可能超过500M,最后,我们减少渲染时间到一个范围:从20分钟到2小时,RIB文件大小减少到以下范围:从50M120M。最终,我们通过小心处理潜在的复杂问题,在努力维持一个高度可见的真实感情况下,完成了渲染。

     

5. 细节层次技术(Level of detail)

我们首先尝试通过每帧减少递交给RIB文件的树木数量以减少复杂度。在三维图形学中,你通常传递整个模型给渲染器,并且让渲染器软件丢弃模型中对于当前摄像机位置不影响图象渲染的部分,此外,所有模型元素通常以全分辨率展现,渲染器必须检测多精细或多粗糙去抽样特定模型元素以得到渲染图象中的合适精度。但是,在我们的问题中,模型中的树木数量太大,每颗树都太复杂了,使得这种标准方法显得不切实际。取而代之,我们预处理模型,传递给RIB文件仅仅那些从当前摄像机位置影响最终图象的树木。图4展示了带有一个三角形高亮标识了摄像机位置和视锥的森林图例。截然不同的颜色代表不同的树木类型:处于视锥内和仅仅超出视锥范围的的树木(绿色),那些完全处于视锥外但它们的阴影可能重叠在视锥内的树木(黄色),其它被剔除的树木(红色)。所有的场景中的树木根据它们距离摄像机的距离被分类为nearmidfarvery far区域。我们使用上述的树木距离区域去决定在渲染树木时在RIB文件中使用那种细节层次(LOD),并且决定那种颜色和位移(displacement)细节。

4:根据观察视锥分类并剔除树木

5,一个渲染好的图象,展示了树木是如何从4个不同区域呈现。树木在标识为very far的区域中不以几何模型的形式包含在RIB文件中,取而代之的是,它们表现为一个具有透明度的面向摄像机的矩形多边形,带有不透明的树木二维纹理图在它之上(如图2)。这种技术通常被称为公告牌。我们完全建模剩下的树,但根据与摄像机的距离渲染它们(见表1)。在far区域中的树木通过仅仅实体颜色着色(solid color shader),没有针对树皮和针叶的位移(displacement)贴图。在near区域的树通过全部纹理和表现真实树皮针叶的位移(displacement)贴图渲染。对于中间区域的树,我们在纹理和位移贴图(displacement)之间插值,从全纹理到实体颜色(solid color),从全纹理和全位移贴图到没(none),根据它们距离摄像机的距离,这种插值方案避免动画中由于渐进漫游过程树木在区域间移动所产生的讨厌的可见效果。<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kern