基于openGL的三维地形场景的生成.pdf

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于openGL 的三维地形场景的生成 1、背景介绍3 2、openGL 中地形动态显示3 3、程序的主要功能4 3.1 三维地形的生成4 3.2 天空盒的生成8 3.3 树的生成9 3.4 3DS模型的读入 11 3.5 键盘交互实现漫游 11 3.6 汉字的显示 12 4、总结 13 4.1 项目总结 13 4.2 小组成员分工 14 参考文献 15 1、背景介绍 地形是自然界最复杂的景物之一,对其三维显示和漫游一直是计算机图形学、地理信息 系统、 数字摄影测量和遥感研究的热点之一。但由于受地形结构复杂,数据量大等条件的 制约,要实时模拟具有真实感的大范围三维地形,最大的难点是,如何精简并有效地组织地 形数据, 以达到高速度、高精确度的可视化目的。 openGL 是开放式图形工业标准,是绘制高度真实感三维图形,实现交互式视景仿真和 虚拟现实的高性能开发软件包 。 利用openGL 进行地形动态显示的基本框架 如图1 所示: 地形 模型 场景 投影 三维动 建模 映射 设置 变换 态显示 图1 openGL 地形现实基本框架 2、openGL 中地形动态显示 利用openGL 进行地形的三维可视化,包含以下几个步骤: (1)openG L 模型映射:利用openGL 制作三维立体地形图,就要将数字地面模型格网 用openGL 提供的点,线,多边形等建模原语描述为openGL 图形函数所识别。 (2 )遥感图像与地形融合:openGL 提供两类纹理:一类纹理图像的大小必须是几何级 数;另一类Mipmaps 纹理可为任意大小。在Mipmaps 纹理映射的基础上,可将遥感图像与 地形融合。在遥感影像与数字地形相套合时,地形与遥感影像的配准是关键。为了获取更好 的视觉效果,配准方案可采取数字地形向遥感图像配准,通过控制点,建立匹配方程,将数 字地形由大地坐标系转到影像坐标系中。 (3 )观察路线设置与视点计算:为了达到三维交互控制的目的,可在正射的遥感数字 影像上任意选择观察路线,对路线上的采样点记录其平面坐标,根据采样点的平面位置从 DEM 中采用一定的插值方法,确定观察路线上采样点的高程和平面坐标,当采用 Fly-through 方式观察时 ,观察路线上每个视点的高度可由观察点地面高程加上 飞行高 度 确定 当采用walk-through 方式观察时 观察 路线上每个视点的高度可由观察点地面高程加上 身高 来确定 (4 )实时显示 Opengl 提供了双缓存技术,通过它可实现地形实时动态显示。其基本原 理是提供前后两个缓存,在显示前台缓存内容的一帧图像时,后台缓存正在绘制下一帧图像 后台绘制完成后,交换前后台缓存。不断循环,实现动态显示。可进一步结合立体视觉技术 传感技术,多媒体技术等实现虚拟现实。 3、程序的主要功能 本程序利用 openGL 实现了三维地形的现实和漫游,天空盒的显示,并且利用billboard 技术在场景中添加了树模型,同时实现了在3DS模型的直接读入。下面,对各功能的实现 原理进行介绍。 3.1 三维地形的生成 3.1.1 地形生成的主要思想 地形生成的主要思想是:给定等高地形图Terrain2.bmp,将其加载进数组g_imageData[] ; 利用数组中的值生成地形采样点x,y 的高程值h 。然后利用三个数组分别保存地形相关的数 据,其中: (1)g_terrain [MAP_W*MAP_W][3] :存储地形的x,y,z 值,其中每一行代表一个地形采 样点。x 和z 表示采样点的平面位置。y 表示采样点的高程,高程值的确定通过上述方法获 得。 下面以3*3 地形的生成为例: g_terrain[3*3][3]如下所示: x y z 0 0 0 1 24

文档评论(0)

anma + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档