学位论文 > 优秀研究生学位论文题录展示

基于GPU编程的虚拟自然环境技术研究

作 者: 韩元利
导 师: 胡鹏
学 校: 武汉大学
专 业: 地图学与地理信息系统
关键词: GPU编程 实时渲染系统 虚拟自然环境 三维仿真系统 物理引擎 自然光照模型 虚拟气象环境 虚拟地理环境 虚拟物理环境
分类号: P208
类 型: 博士论文
年 份: 2007年
下 载: 1212次
引 用: 8次
阅 读: 论文下载
 

内容摘要


GPU以超越半导体技术摩尔定律三倍的速度快速发展,为开发实现大型实时三维仿真系统提供了一个前所未有的新手段,技术的提高也直接带动了人们对三维仿真系统认知的提升。虚拟自然环境超越了VR对空间实体的表达,包含了虚拟地理环境、虚拟物理环境、虚拟气象环境等众多抽象但客观存在的主题,提出了更具沉浸感、更全面的仿真空间表达环境。本文以综合当前国内外先进的技术为基础,结合先进的GPU编程方法实现,目的在于探讨建立一套完整的虚拟自然环境模拟实现的技术体系,研究的内容主要集中在虚拟地理环境、虚拟物理环境和虚拟气象环境的模型表达与GPU编程技术实现。本文在组织上各章节基本独立,主题分明,但又紧紧围绕虚拟自然环境的研究内容与实现手段进行组织。在本文的第一章中,我们论述了空间认知观的发展过程,并认为技术发展与手段更新是影响空间信息表达的关键因素;基于这样的认识,结合当前先进的GPU图形开发系统强大的性能提升,我们提出了"虚拟世界"的认知体系结构,将虚拟世界分为可感知的“虚拟自然环境”与“虚拟社会”两个体系,并且指出它们的分割标准是以“是否有人参与”为原则进行的。作为本文的主要研究内容,我们分析了虚拟自然环境的组成体系,初步确立了虚拟地理环境、虚拟物理环境与虚拟气象环境三个主题作为虚拟自然环境的研究内容,论述了各个主题的研究内容与实现技术路线。针对“虚拟现实”与“虚拟世界”的概念,我们辩证地论述了虚拟现实技术与虚拟世界(包括其各个研究分支)的关系问题,明晰了"虚拟世界"是研究目标,而虚拟现实技术只是一个研究手段、一种实现途径;作为对“虚拟世界”的概念定义,我们指出“虚拟世界”的至美境界就是现实世界完整而生动的“映像”,建立虚拟世界的目的不仅在于对虚拟事件的时间轴推演与回顾,更重要的建立一个可以修复的世界去供我们破坏,从而为现实世界中的各种人类活动、科学实验、环境评估提供一个生动的实验平台。作为主要的背景知识,本文对GPU功能结构及GPU编程技术方面作了详细的论述。针对GPU硬件体系快速的性能提升与功能拓展,我们简述了各个时期GPU的功能特性与GPU性能的评价标准,将GPU的可编程性能确立为新的GPU性能评价标准,足显GPU作为新一代图形系统开发的必然发展趋势;同时我们还结合三维图形系统开发过程介绍了新旧两种三维图形系统渲染方式,指出了GPU图形系统开发的强大功能支持、快速渲染与灵活实现等众多优势;GPU编程是一种与传统算法编程思想完全不同的机制,它主要面向顶点数据与像素数据进行编程,其实现建立在大型点阵的快速并行运算技术上,作为本文实现的主要技术基础,我们还简要地介绍了GPU可编程语言的文法与编程思想。在针对虚拟地理环境的研究中,我们的研究内容主要集中在大区域地形可视化、光照渲染与水体可视化三个方面。在大区域地形可视化技术方面,分为三个步骤来论述:模型表达、纹理生成与渲染机制。主要研究围绕着如何解决在大区域表达时的实时效率与可视化品质相矛盾的问题,解决办法不外乎在各个环节上都注重效率的提升。为此,在模型表达中,我们的解决思路有两条:一、对传统的地形表达算法进行大区域地形可视化调度策略上的优化;二、运用GPU建立没有模型数据结构的快速渲染机制。针对第一条技术路线,我们论述了基于二叉树的双缓冲区队列实现的实时优化自适应网格模型(Roam算法)的实现,同时引入了一种先进的能够符合大区域地形分块调度的地形场景分页管理器(PLSM)机制。由于PLSM采用事件监听驱动方式、具备独立GPU渲染方式、模拟操作系统高效调度策略等众多优点,非常适合大区域地形的调度表达,因而我们将Roam算法与PLSM结合起来实现了大区域的高效渲染:Roam算法作为三角网建模算法直接负责了地形的LoD建模,而PLSM则负责包括地形块调度、数据接口以及独立的渲染机制等诸方面的工作。在第二条技术路线实现方面,文章论述了GPU实现的地形表达经典算法,美国斯坦福大学与微软研究院共同研究的科学成就----基于几何裁剪的嵌套网格模型算法的实现机制。这个算法的优点就是不需要建立复杂的地表模型,几乎所有的工作均可以在GPU中进行高效处理,不需要过多地占据CPU的计算资源,是一种非常巧妙的算法实现;结合本人先前的关于同层多分辨率地形表达模型的研究,本文对这一模型提出了自己的改进思维,建立了综合网格嵌套的多分辨率表达模型。主要的改进是基于视向与视距来确立多分辨率的层次分布从而实现精度控制的LoD地形模型表达。在纹理生成方面,针对大区域地形表达的纹理获取困难、匹配困难、多分辨率表达困难等原因,文章论述了纹理投射(Texture Splatting)的动态纹理生成方法,这种方法的好处不仅在于可以得到时态纹理,而且可以根据纹理成分合成纹理,从而在没有真实纹理的情况下可以根据各种纹理成分的分布图来生成具有相当仿真程度的匹配纹理;本文同时也基于纹理投射的原理提出了改进的,能够显著提高渲染效率,并且不影响动态纹理表达灵活性渲染的补偿纹理合成方法。这一方法的思想是将纹理投射过程分为两个过程,在前期实现静态的纹理成分合成预处理,在后期针对时态性的纹理(如雪、水面)等实现实时的纹理成分补偿性的叠加,并且将光照计算的部分工作也放在了纹理动态合成的环节中,从而进一步提高了大地形表达的实时效率。在渲染机制方面,传统的管道方式在要求实时性非常高的大区域渲染方面基本上已经退出了历史的舞台,在大型的三维可视化系统中,均采用了GPU独立渲染的表达机制。运用GPU进行渲染,可以完全从地形建模中独立出来,而且还可以对同一模型定制多套渲染方案,渲染方案的描述也非常简单,通过渲染脚本描述,并由三维引擎直接送到GPU进行渲染。文章对这方面的知识进行了详细论述。在虚拟地理环境的自然光照效果方面,我们主要从物理光学方面由简入繁、深入地分析了光照合成的基本原理,并用物理的光学分析实现了对光盘衍射干涉光波的效果模拟,深入到微观的物理粒子世界去探析自然规律与自然现象的统一。文章从管道渲染方式的基本的光照模型、到聚光灯效果、光衰减效果的扩展模型,再到环境映像贴图的技术实现,通过GPU的编程技术实现,充分地体现了GPU编程的灵活性优势与强大功能拓展,为实现复杂的光效渲染提供了支持。作为对这一观点的验证,我们通过物理光波的粒子跟踪,模拟实现了光盘光波干涉现象的模拟。在水面的表达模型上,我们综述了水面模型的三种表达方式:纹理波、几何波与物理波的技术实现。在纹理波的表达中,针对静态网格数据的放射状采样LoD表达提出了更为科学的、根据视线与视点位置确立的椭圆采样表达模型,这一模型同样可以应用在Grid-DEM表示的地形模型中;在水面表达的纹理波叠加方法中,我们提出了根据信号脉冲方式驱动的纹理波叠加与置换方法,并且给出了运用GPU编程实现了的纹理叠加算法。在水面的几何波的表达中,我们运用地图代数距离变换方法以纹理图的方式给出了不规则形体辐射波的方向定义,并且能够在障碍水域中同时表达多个波源的辐射波作用;同时我们还讨论了常用的基于快速离散傅立叶变换(FFT)的几何波采样算法实现。在水面的物理波表达中,结合流体动力学表达的Gerstner波,我们通过融合更多的物理参数,实现了由数学模型到物理模型的转变,演绎出外力作用下的物理波表达模型,并且在GPU中巧妙地实现了这种模型的表达。作为虚拟自然环境的另外一个重要研究主题,虚拟物理环境是一种最为抽象的技术实现。它主要是提供一种物理空间表达机制,在这种机制下,实体的行为被动地受到空间机制的约束从而表现出相应的物理运动。在这一个方面,本文主要论述了当前的物理加速硬件实现技术,并且重点以Newton物理引擎为例揭示了物理引擎机制的技术实现,分析了物理引擎的功能结构与技术架构,同时我们还以大地碰撞模拟实验为例讨论了物理引擎的应用。最后,我们还以GPU编程为实现手段,通过对皮球的弹跳模拟实现反映了GPU对物理运算及物理现象模拟的支持能力。在虚拟气象环境表达中,本文总结了建立虚拟气象表达模型的几种技术路线,并且对技术非常先进的直接体视化技术(Splatting)进行了详细的介绍。而针对常用的粒子系统表达方式,我们提出了面向粒子的GPU通用表达统一模型,融合粒子绘制、运动更新、光照渲染表达于一体,同时可处理静态粒子集合随机采样粒子与依据气象模型动态实时生成的粒子,为虚拟气象现象模拟提供了统一的GPU编程实现模式。在本文的最后,我们针对虚拟自然环境在技术与实现上的综合,从主题整合、效果融合以及技术体系的协作三个方面进行了探讨,其内容包括:VGE、VPE与VME的关系布局;图形渲染、光照效果、物理计算的效果融合;CPU、GPU与PPU的技术协作等内容。综观全文,本文紧紧围绕着虚拟自然环境的各个分支主题的模型表达以及GPU编程模拟技术两个方面展开论述。作为本文的研究主旨,我们的研究主要在于探讨建立虚拟自然环境的技术路线、体系架构以及模型理论综合等,为建立虚拟自然环境系统进行一些铺垫性工作。

全文目录


摘要  4-7
ABSTRACT  7-15
引言  15-17
第一章 绪论  17-27
  1.1 空间认知观  17-22
    1.1.1 发展的空间认知观  17-18
    1.1.2 虚拟世界的认知体系  18-20
    1.1.3 虚拟世界的分割标准  20-21
    1.1.4 虚拟现实与“虚拟世界”的关系  21-22
  1.2 虚拟自然环境的研究内容、背景与研究意义  22-24
    1.2.1 当前虚拟自然环境的研究进展  22-23
      1.2.1.1 国外研究背景  22-23
      1.2.1.2 国内研究背景  23
    1.2.2 虚拟自然环境的研究内容  23-24
    1.2.3 本文的研究意义  24
  1.3 本文的研究内容与安排  24-25
  1.4 小结  25
  参考文献  25-27
第二章 GPU 的发展及实时编程渲染概述  27-37
  2.1 计算机图形硬件的发展  27-30
    2.1.1 计算机图形硬件的发展历程  27-29
    2.1.2 新一代图形硬件标准——Shader Model  29-30
  2.2 图形加速卡三维渲染机制及发展  30-32
    2.2.1 三维图形绘制及渲染流程  30
    2.2.2 图形绘制管道渲染方式  30-31
    2.2.3 GPU 可编程渲染方式  31-32
  2.3 GPU 实时渲染编程  32-35
    2.3.1 高端着色语言  32-33
    2.3.2 顶点着色器  33-34
    2.3.3 像素着色器  34-35
    2.3.4 几何着色器  35
  2.4 本章小结  35-36
  参考文献  36-37
第三章 基于GPU 的地形表达与渲染技术  37-67
  3.1 大区域地形表达模型  37-44
    3.1.1 大区域地面表达模型简介  37-40
      3.1.1.1 Roam 三角网表达模型  38-39
      3.1.1.2 PLSM 调度机制简介  39-40
      3.1.1.3 两种模型的比较  40
    3.1.2 双队列二叉树驱动机制的Roam 算法实现  40-42
      3.1.2.1 动态连续三角化二叉树  40-41
      3.1.2.2 二叉树的分裂过程  41
      3.1.2.3 二叉树的合并过程  41-42
    3.1.3 PLSM 与双队列驱动二叉树的组合建模  42-44
      3.1.3.1 基于Roam 与PLSM 组合的地形建模  42-43
      3.1.3.2 组合建模的调度机制  43-44
      3.1.3.3 实验及对比分析  44
  3.2 基于GPU 的地形模型表达与实现机制  44-52
    3.2.1 静态格网模型的表达  45-46
    3.2.2 基于Geometry Clipmaps 的嵌套规则格网地形模型  46-49
      3.2.2.1 嵌套规则格网地形模型  47
      3.2.2.2 模型的分块渲染机制  47-49
      3.2.2.3 环绕寻址的动态更新机制  49
    3.2.3 基于Geometry Clipmaps 多分辨率的层次地形模型  49-52
      3.2.3.1 多分辨率的层次地形模型  49-50
      3.2.3.2 两种模型的综合  50-52
  3.3 动态地形纹理合成技术  52-57
    3.3.1 为什么需要动态地形纹理合成  53
    3.3.2 地形纹理合成的基本原理  53-55
    3.3.3 运用GPU 实现补偿纹理合成方法  55-57
      3.3.3.1 补偿纹理合成方法  55-56
      3.3.3.2 GPU 实现的纹理合成实现  56-57
  3.4 大区域地形场景渲染  57-62
    3.4.1 面向GPU 的场景渲染机制  57-58
    3.4.2 渲染脚本定义  58-61
      3.4.2.1 脚本定义文法  58-59
      3.4.2.2 脚本关键字与控制谓词说明  59-61
    3.4.3 常用的大区域地形渲染方式  61-62
  3.5 本章小结  62
  参考文献  62-67
第四章 自然光照模型  67-83
  4.1 光照的基本模型  67-70
    4.1.1 光照的效果合成运算  67-69
      4.1.1.1 单光源光效计算  67-68
      4.1.1.2 多光源光效叠加计算  68-69
    4.1.2 光照渲染的明暗处理模式  69-70
  4.2 光照的扩展模型  70-73
    4.2.1 光照的增强效果  70-71
    4.2.2 全面的光效构成要素分析  71-72
    4.2.3 光照效果的GPU 实现  72-73
  4.3 环境映射模型  73-76
    4.3.1 环境映射的原理  74-75
      4.3.1.1 反射映射  74
      4.3.1.2 折射映射  74-75
    4.3.2 色散及色散映射  75
    4.3.3 全自然的光照效果综合  75-76
  4.4 物理光学模型  76-82
    4.4.1 相干光波叠加原理  76-77
    4.4.2 光波的衍射与干涉模拟  77-80
    4.4.3 可见光衍射干涉的程序实现  80-82
  4.5 本章小结  82
  参考文献  82-83
第五章 基于GPU 的水体动态仿真  83-101
  5.1 水面可视化研究  83-84
    5.1.1 水体表达模型的研究进展  83-84
    5.1.2 动态高度场的建立方式  84
  5.2 纹理波的表达与实现  84-90
    5.2.1 纹理波的高程、采样与模拟方式  84-87
      5.2.1.1 高程的表达  84-85
      5.2.1.2 放射网格采样LOD 表达模型  85
      5.2.1.3 椭圆网格采样LOD 模型表达  85-87
      5.2.1.4 纹理波的模拟方式  87
    5.2.2 法线扰动的凹凸纹理贴图方式  87-88
      5.2.2.1 光源的周期性平移  87-88
      5.2.2.2 凹凸纹理法向量扰动  88
    5.2.3 纹理动态叠加方式  88-89
    5.2.4 基于GPU 的程序实现  89-90
  5.3 几何波的合成技术研究  90-93
    5.3.1 正弦波的叠加  90-91
    5.3.2 方向波与辐射波的确立  91-92
    5.3.3 采样波的FFT 变换拟合  92-93
  5.4 水体表面的物理波表达模型  93-98
    5.4.1 流体力学的N-S 方程  93-94
    5.4.2 改进的Gerstner 波物理表达模型  94-96
    5.4.3 基于GPU 的Gerstner 波实现技术  96-98
  5.5 本章小结  98
  参考文献  98-101
第六章 虚拟物理环境与物理碰撞实验  101-115
  6.1 物理加速技术  101-104
    6.1.1 物理加速的模式  101-102
    6.1.2 物理加速的技术路线  102-103
      6.1.2.1 physX(PPU)+NovdeX(物理引擎)架构  102-103
      6.1.2.2 基于SLI 架构的多GPU 物理加速技术  103
      6.1.2.3 ATI 致力于物理计算与图形渲染的强力集成  103
    6.1.3 DirectX10,标准的统一  103-104
  6.2 物理引擎  104-108
    6.2.1 物理引擎的功能结构  104-105
    6.2.2 Newton 物理引擎的基本架构  105-108
  6.3 基于NEWTON 物理引擎的大地碰撞试验  108-110
    6.3.1 碰撞模型的建立  108
    6.3.2 物体运动的交互响应  108-109
    6.3.3 运动刚体的表达  109-110
  6.4 基于GPU 的物理碰撞实现  110-113
    6.4.1 基于GPU 编程的物理表达模型  110-111
    6.4.2 能量守恒的无形变的皮球弹跳实现  111
    6.4.3 可变形的弹跳模拟  111-113
  6.5 本章小结  113-114
  参考文献  114-115
第七章 虚拟气象环境与虚拟自然环境综合  115-127
  7.1 虚拟气象环境  115-118
    7.1.1 虚拟气象环境的研究内容与研究进展  115-116
    7.1.2 基于Splatting 直接体视化技术的虚拟气象环境表达  116-118
      7.1.2.1 Splatting 体绘制的基本原理  117
      7.1.2.2 Splatting 对虚拟气象环境的表达  117-118
  7.2 基于GPU 的粒子系统表达  118-122
    7.2.1 粒子及气象环境的数据基础  118-119
    7.2.2 粒子状态的表达  119
    7.2.3 模型的驱动  119-120
    7.2.4 粒子的采样  120-121
    7.2.5 模型的控制  121
    7.2.6 GPU 的编程实现  121-122
  7.3 虚拟自然环境的集成技术探讨  122-124
    7.3.1 VGE、VPE、VME 的一体化表达  122-123
    7.3.2 物理现象、光学效果与图像表达的融合  123-124
    7.3.3 CPU、GPU、PPU 的综合  124
  7.4 本章小节  124-125
  参考文献  125-127
第八章 总结与展望  127-131
  8.1 研究总结与创新点  127-128
  8.2 研究不足与技术展望  128-131
攻博期间的主要科研工作  131-132
致谢  132

相似论文

  1. 虚拟地理环境中注记配置和表示方法研究,P283
  2. 开源虚拟引擎三维地形环境拓展研究,P208
  3. 虚拟城市建设中建模及可视化的研究与实践,TP391.9
  4. 虚拟地理环境中SARS传播行为智能模拟研究,TP391.9
  5. 虚拟现实中物理引擎关键技术的研究与应用,TP391.9
  6. 基于OGRE的压延塑化三维仿真系统的设计与实现,TP391.9
  7. 用于避障研究的微型仿生机器鱼三维仿真系统,TP242
  8. 基于Arena 3DPlayer的港口物流决策与仿真系统研究,TP18
  9. 基于GPU编程的实时卡通渲染研究与实现,TP391.41
  10. 大规模三维地形绘制与实时漫游技术研究与实现,TP391.41
  11. 基于JAVA的手机游戏引擎的研究及实现,TP311.52
  12. 汽车运动分析及行为模拟,U461.1
  13. 三维游戏引擎中物理引擎关键技术的研究,TP311.52
  14. 基于OSG的虚拟场景中运动控制与交互技术研究,TP391.9
  15. 道路交通事故再现的仿真研究与实现,TP391.9
  16. 基于UNREAL的虚拟环境与驾驶系统交互控制研究,TP391.9
  17. 网格虚拟地理环境及其关键技术研究,TP391.9
  18. 虚拟地理环境中基于多Agent的数据和计算协同研究,P208
  19. 全球大规模虚拟地理环境构建关键技术研究,TP391.41
  20. 基于分布式存储的虚拟地理环境关键技术研究,P208

中图分类: > 天文学、地球科学 > 测绘学 > 一般性问题 > 测绘数据库与信息系统
© 2012 www.xueweilunwen.com