基于OpenGL校园漫游系统的设计与开发

合集下载

基于CityEngine建模技术的三维虚拟校园开发与制作

基于CityEngine建模技术的三维虚拟校园开发与制作

42软件开发与应用Software Development And Application电子技术与软件工程Electronic Technology & Software Engineering●项目性质:赛尔网络下一代互联网技术创新项目;项目名称:基于IPv6的AR 录取通知书设计与实现;项目编号:NGII20180610。

三维虚拟校园漫游系统以其逼真的校园环境再现能力和丰富的交互功能,在校园规划、对外宣传、帮助新生熟悉校园等方面,都能起到非常重要的作用,近年来在国内外高校中得到了广泛的应用。

笔者在赛尔网络下一代互联网创新开发项目研究中,也制作了荆楚理工学院三维校园模型。

我们最初使用3DMax 三维建模软件,花费了大量人力和时间对荆楚理工学院校园环境进行了三维建模,校园环境细节得到最大程度的还原。

虽然展示校果很好,但因模型面数巨大,程序在目前主流配置手机上都无法流畅运行,所以我们转而使用专用于大规模城市仿真的CityEngine 进行校园模型制作。

1 数据准备与处理1.1 影像数据获取建模所需的影像数据可以通过CityEngine 软件的Get Map Data 功能获取,也可以从水经注万能地图下载器等相关软件中获取。

1.2 建筑物轮廓数据如果有校园建筑的测绘地形图,我们可以直接从地形图里提取建筑物平面轮廓的CAD 数据,然后使用ArcGIS 工具,将CAD 数据转化为Shapefile 文件,设置相关属性,如楼层、屋顶、建筑名称等。

如果拿不到建筑的CAD 数据,也可以在ArcGIS 中对高分辨率的地图影像进行矢量化得到建筑物轮廓。

本次建模没有使用这两种方法,一是我们没有CAD 数据;二是高清影像图进行矢量化也不能达到所需效果。

我们采用的办法是在CityEngine 中对照影像数据绘出轮廓图和在3D Max 中参照实际建筑绘出轮廓图,然后再将轮廓图导入CityEngine ,将其转化为形状后再进行规则建模。

计算机教育专业毕业论文参考题目

计算机教育专业毕业论文参考题目

计算机教育专业毕业论文参考题目第一篇:计算机教育专业毕业论文参考题目计算机教育专业毕业论文参考题目1、信息技术与课程整合(具体学科)的教学模式研究2、网络环境下学生自主学习能力的培养3、基于网络的学习活动设计及其案例研究4、浅谈多媒体技术在网络教学中的应用5、现代教育技术和教育创新的思考6、中小学教师信息素养现状分析与对策研究7、课堂教学中如何培养低年级学生的自主学习能力及习惯8、中小学信息技术教师在学校教育中应具备的素质9、多媒体和网络环境下,中小学学科教学改革研究10、**教学法在“中小学信息技术”课程教学中的应用——以**案例设计及实践为例11、浅谈如何打造高效能信息技术课堂教学12、教育网站中页面的设计技术13、试析课堂教学方法的优化组合与综合应用14、试论基于情景认知的网络学习环境设计15、FLASH课件辅助小学信息技术课程教学的个案研究16、PPT和其他软件的联合使用17、多媒体课件中的教学设计18、游戏型课件的设计与开发19、即时通讯工具在教学中的应用与研究20、教育类网站的比较研究21、幼儿园、小学网站开发第二篇:计算机专业毕业论文题目范文计算机专业毕业论文题目计算机专业毕业论文题目计算机专业毕业论文题目计算机专业毕业论文题目一、以下选题目录属参考选题,具体由毕业生自定,但内容必须是与本专业相关的内容。

二、《毕业论文参考选题目录》所列题目是一个研究方向,可围绕该问题查找资料,撰写提纲,题目可以适当修改,但必须是在同一个研究方向。

序号毕业论文参考选题1多媒体教学软件的设计与制作2基于Word的自动出题系统3多媒体课件或网络课件制作4我国中小学信息技术教育展望5信息技术环境下的教师素质和能力、角色与地位6中学新课程对信息技术教师的素质要求研究7多媒体教学技术的应用及研究8信息技术与课程整合的研究9中小学信息教师的地位危机10信息技术教师继续教育的问题和对策多媒体课件与传统教学方法比较分析12西北地区信息技术教师队伍现状及思考13代数在计算机科学中的应用14xxxx课程多媒体课件设计与实现15新课程改革下中学信息技术课改情况调查分析16网络教学资源的开发在信息技术课程中的应用研究17中学信息技术教育对学生文化素养的影响现状与对策18提高“多媒体课件”效果的有效策略研究19数字水印在网络作品版权保护中的应用20Authorware中数据库技术的应用标准21Authorware中多种菜单的实现22虚拟现实技术在多媒体课件开发中的应用23基于FLASH的多媒体课件设计与开发24基于Authorware的多媒体课件设计与开发25小学信息技术课程教学内容与方法探讨26Internet技术在中学教学和教学研究的应用27网络环境下教与学的研究与实现28利用网络技术支持课堂教学改革29网络环境下教学评价系统研究30浅谈Internet防火墙技术31多媒体课件开发研究32信息技术教学方法研究33多媒体课件开发工具对比研究第三篇:计算机专业毕业论文题目计算机专业毕业论文题目一、以下选题目录属参考选题,具体由毕业生自定,但内容必须是与本专业相关的内容。

VR校园漫游系统的设计与实现

VR校园漫游系统的设计与实现

VR校园漫游系统的设计与实现VR校园漫游系统的设计与实现随着虚拟现实(VR)技术的发展和应用,其在教育领域的重要性逐渐凸显。

VR技术可以为学生提供沉浸式的学习体验,尤其是在校园漫游系统的设计与实现方面。

本文将从需求分析、系统设计、功能实现和应用案例等方面,探讨如何设计与实现一款VR校园漫游系统。

一、需求分析1.1 教育背景VR校园漫游系统是基于虚拟现实技术实现的校园导览系统。

当今,越来越多的学校具备校园漫游的需求,以提升学生的校园导览体验和教育效果。

1.2 功能需求(1)虚拟地图:系统应提供校园的虚拟地图,标注教学楼、图书馆、实验室等主要场所,并提供导航和定位功能。

(2)教育资源:系统应整合丰富的校园教育资源,如教学视频、讲座录像、实验室模拟等。

(3)交互功能:系统应具备学生与场景进行交互的功能,如能够触摸物体、查看详细信息等。

(4)多媒体展示:系统应支持多媒体的展示,如图片、音频、视频等,以丰富学生的感官体验。

二、系统设计2.1 架构设计VR校园漫游系统的架构设计应包括前端和后端两部分。

前端负责展示虚拟场景和交互功能,后端负责处理用户请求和数据存储。

2.2 前端设计前端设计主要包括用户界面设计和虚拟场景设计。

用户界面设计应简洁明了,便于用户操作。

虚拟场景设计则应根据实际校园环境进行模拟,力求真实感。

2.3 后端设计后端设计包括数据管理和交互功能实现。

数据管理负责存储校园地图、教育资源和用户数据等,交互功能实现则包括导航、定位、触摸等功能。

三、功能实现3.1 地图实现在系统中,应建立一个虚拟地图,准确标注校园重要场所,并提供用户导航和定位的功能。

同时,应考虑地图的可扩展性,以便未来校园发展时能够及时更新。

3.2 教育资源整合系统应整合校园的教育资源,例如教学视频、讲座录像、实验室模拟等。

用户可以通过系统观看相关视频、参与虚拟实验等,提升学习效果。

3.3 交互功能实现系统应提供学生与虚拟场景进行交互的功能。

基于VRML虚拟校园设计

基于VRML虚拟校园设计

28科技资讯 SCIENCE & TECHNOLOGY INFORMATION虚拟现实技术(VR,VirtualReality)是当前非常活跃的研究领域,1989年由美国VLP公司创建人JaronLanier提出,是一种逼真的模拟人在自然环境中的视、听、动作等行为的人机界面技术[1]。

本文研究的项目背景是内蒙古科技大学虚拟校园,从另一角度来宣传学校,利用VRML构建内蒙古科技大学虚拟校园,通过VRML技术对校园场景进行建模,并且与图像、声音、文字、视频等多媒体技术的结合,构建出了一个生动逼真的三维校园,使更多的人可以通过学校主页了解内蒙古科技大学,了解学校的建设成就,在五十周年校庆时和本科教学评估时,使学校形象得到充分的展现,因此开展虚拟校园的建设研究有十分重要的现实应用意义。

1 虚拟场景建设的相关技术在虚拟现实技术中,首先要解决的问题是虚拟场景的建模方法,即虚拟世界的构造问题。

而虚拟三维空间建模的好坏是产生沉浸感和真实感的先决条件,场景太简单会使用户觉得虚假,而复杂逼真的场景又势必会增加交互的难度,影响实时性。

目前围绕虚拟场景建模问题的解决方式主要有三类。

1.1基于几何模型的建模技术基于几何模型渲染的建模技术要求手工设定模型参数,它借助各种造型、建模技术,用一些基本的几何单元来构造虚拟场景,然后再进行纹理映射、光亮度计算,对几何模型进行渲染。

其缺点是建模前必须了解建筑物各组成部分的位置及大小,而且建模过程比较复杂且工作量大。

当构造出高度复杂的场景时,模型数据量相当庞大,影响后续的实时绘制过程。

在普通计算机上实现高度真实感图形的实时绘制,存在绘制算法与速度、质量和景物复杂程度之间的矛盾。

1.2基于图像绘制的建模技术基于图像的建模技术用建筑物图像作为输入,使用计算机视觉技术,自动恢复建筑物的几何模型。

它不依赖于几何模型,而是利用事先获取的一组真实图像序列,对环境进行编码,并通过适当地处理变换合成位于新视点的视图,最终实现环境的完全漫游。

计算机科技与应用专业毕业论文--基于Opengl的3D游戏设计

计算机科技与应用专业毕业论文--基于Opengl的3D游戏设计

摘要随着时代进步,从简单的色块堆砌而成的画面到数百万多边形组成的精细人物,游戏正展示给我们越来越真实且广阔的世界。

对于近几年游戏的发展来说,老式2D游戏的画面、游戏性、互动性已经无法满足各类玩家的需要,而3D游戏无论是在游戏画面的真实程度、操作的流畅程度、以及故事背景方面的优越性都非常突出。

在这种发展趋势下,2D游戏所占领的市场将会变得微乎其微,3D游戏的开发将会成为整个游戏制作领域的一种趋势。

针对于3D游戏开发,OpenGL作为一个3D的应用程序编程接口(API)来说,是非常合适的。

OpengGL作为与硬件无关的软件接口,只要操作系统使用了OpengGL适配器就可以打到相同的效果。

它又是一个开放图形库,在跨平台领域上非常便利。

并且它具有优良的移植性,是广大3D游戏开发者的首选。

本论文为利用OpengGL进行3D射击游戏的设计与开发,采用碰撞检测、粒子系统、MD2模型绘制、3D声效等技术,最终实现一个射击游戏。

关键词:游戏, 基于OpengGL,三维, 射击游戏Abstract: Along with the progress of the times,fine characters from simple color swatch built the picture to the millions of polygons, the game is to show us more and more real and the wide world.For the development of the game in recent years, the old 2D games' screen ,games andinteractive have been unable to meet all kinds of game player needs, while 3D regardless of the game on the game screen reality, smooth operation, and the background of the story of the superiority is very prominent.In this trend, 2D game occupied market will become very little, the development of 3D games will become the game made a trend in the field.For 3D game development, OpenGL as the application programming interface of a 3D (API), is a very suitable. OpengGL as the interface of the software and hardware independence, as long as the operating system uses the OpengGL adapter can reach the same effect. It is also an open graphics library, cross-platform in areas very convenient. And it has good transplantation, is the 3D game developer's choice.In this paper, the design and development of 3D shooting game is to use OpengGL, the collision detection, particle system, MD2 model, 3D sound rendering technology, the ultimate realization of a shooting game.Keywords game, OpengGL, 3D, shooting game目录1 引言 (1)1.1 课题的背景及意义 (1)1.2 毕业设计的任务 (1)1.3 国内外现状的研究 (2)1.4 开发技术与开发平台 (3)1.4.1 开发技术 (3)1.4.2 开发平台 (3)2 OpenGL简介与3D图形学相关 (5)2.1 OpenGL简介 (5)2.1.1 OpenGl特点 (5)2.1.2 OpenGL功能 (6)2.1.3 OpenGL渲染 (7)2.2 3D图形学相关 (8)2.2.1 向量与矩阵 (8)2.2.2 变换 (8)2.2.3 投影 (8)2.2.4 3D裁剪 (9)3 游戏设计 (11)3.1 游戏的组成 (11)3.2 游戏的结构 (11)3.3 本游戏设计 (12)4 关键技术 (15)4.1 摄像机漫游 (15)4.2 碰撞检测 (16)4.3 粒子爆炸 (19)4.4 云雾效果 (20)4.5 简易AI (21)4.6 3D模型 (23)4.7 3D音效 (26)4.8 游戏场景随机地形 (28)5 运行游戏 (30)结论 (36)参考文献 (37)致谢 .................................................................................................................................. 错误!未定义书签。

漫游校园活动策划方案

漫游校园活动策划方案

漫游校园活动策划方案一、活动概述漫游校园活动是以校园为舞台,通过游戏、互动等方式,引导参与者深入了解校园文化、历史和资源,并增强参与者对学校的归属感和认同感。

本次活动旨在为新生提供一个更好的适应和融入学校生活的机会,同时也提供给老生们一个重返校园的机会,让他们发现学校的魅力和美好。

二、活动目标1. 帮助新生更好地适应学校生活,增强其对学校的认知和归属感。

2. 提供给老生们一个重新认识学校的机会,发现学校的魅力和美好。

3. 加强学生之间的交流与合作,促进校园文化的传承和发展。

三、活动内容1. 校园地图制作为了帮助新生更好地了解校园的布局和资源分布,可以邀请学校的地理学专业的学生或者学生社团的成员制作一份详细的校园地图,并配有相应的说明和导航功能。

这样可以帮助新生更快地找到自己要去的地方,提高其生活质量。

2. 探险任务将校园划分为不同的区域,每个区域都设置一些任务和障碍,例如找到指定的建筑物、回答关于学校的问题等,参与者需要按照提示完成任务,并在规定时间内前往下一个区域继续任务。

参与者可以自由组队参加,增加互动性和合作性。

3. 校史文化展览在校园内设置展览区域,展示学校的历史、文化和荣誉。

可以放置一些历史文物、照片、实物模型等,让参与者通过观展的方式了解学校的发展历程和成就,增强他们对学校的认同感。

4. 名人学长讲座邀请学校的优秀校友或者学生代表进行讲座,分享他们在学校的经历和成长,以及他们在社会上的成就和影响。

这样可以让参与者更直观地感受到学校的教育和培养的力量,激发他们的学习和创造潜力。

5. 校园美食节在校园的美食广场或食堂设置各种美食摊位,供参与者品尝校园内的特色美食。

可以包括各个学院或社团制作和销售自己特色的小吃或饮品,让参与者品味到学校的多样化和创意。

6. 教育资源展示在学校的教学楼或者图书馆等地方设置展区,展示学校的教育资源和科研成果。

通过展示学院的课程设置、实验室设备和科研项目等,让参与者了解到学校的教育水平和学科实力。

三维动画设计与制作:综合项目——校园虚拟漫游

三维动画设计与制作:综合项目——校园虚拟漫游

降低3D场景的复杂度,提高渲染效率。
图像优化
改进漫游路径规划算法,提高漫游的平滑度和自然度。
路径规划优化
减少数据传输量,提高实时交互的稳定性和速度。
网络优化
项目优化
选择具有广泛用户基础和影响力的平台进行发布。
项目发布与推广
发布平台选择
利用社交媒体、网络广告等方式进行宣传推广。
宣传推广策略
与其他校园组织或企业合作,共同推进虚拟漫游技术的发展和应用。
确定漫游范围
确定漫游过程中的基本规则,如移动、视角转换、导航等。
制定漫游规则
在进行校园虚拟漫游之前,需要了解相关的法律法规和知识产权问题。
了解相关法律法规
需求分析
通过拍摄校园各个角落的照片来获取漫游所需的数据。
资料收集与整理
收集校园实景照片
收集校园建筑的相关信息,包括建筑名称、楼层、房间等。
整理校园建筑信息
三维模型制作
03
细节制作
根据实际校园情况,添加门、窗、阳台等细节部件,提高模型的逼真度。
建立基本几何体
使用3ds Max的几何体功能,建立校园建筑、道路、绿化带等基本模型。
纹理贴图
为模型添加适当的纹理贴图,使模型更加真实。
使用3ds Max制作模型
使用3ds Max的UVW展开功能,将贴图展开成适当的尺寸和比例。
项目经验教训总结
我们将继续探索和推广校园虚拟漫游的应用领域,包括在线教育、远程培训、文化传播等方面,为用户提供更加便捷和高效的学习和交流平台。
拓展应用领域
我们将不断引入新的技术和创新,提高漫游的真实感和交互性,提升用户体验和便捷性。
技术升级与创新
我们将继续加强团队合作和人才培养,提高团队整体的技术水平和管理能力,为项目的可持续发展打下坚实的基础。

基于OpenGL的三维建模与动画设计技术研究

基于OpenGL的三维建模与动画设计技术研究

基于OpenGL的三维建模与动画设计技术研究一、引言在当今数字化时代,三维建模与动画设计技术已经成为影视、游戏、虚拟现实等领域不可或缺的重要组成部分。

而OpenGL作为一种跨平台的图形库,被广泛运用于三维建模与动画设计中。

本文将探讨基于OpenGL的三维建模与动画设计技术,包括其原理、应用和未来发展趋势。

二、OpenGL概述OpenGL(Open Graphics Library)是一种用于渲染2D、3D矢量图形的跨平台图形库。

它提供了一系列的函数,可以用来绘制复杂的图形、场景和动画。

OpenGL具有开放源代码、跨平台、高性能等特点,因此被广泛应用于计算机图形学领域。

三、三维建模技术1. 网格建模网格建模是三维建模中最基本的技术之一,它通过顶点、边和面构成的网格结构来描述物体的外观和形状。

在OpenGL中,可以利用顶点缓冲对象(VBO)和索引缓冲对象(IBO)来高效地管理网格数据,实现复杂物体的建模。

2. 着色器编程着色器编程是OpenGL中非常重要的一部分,它可以控制光照、材质、纹理等效果,从而使得渲染出来的图像更加逼真和生动。

顶点着色器和片元着色器是着色器编程中常用的两种着色器类型,它们可以对顶点和像素进行灵活处理。

3. 纹理映射纹理映射是将二维图像映射到三维物体表面上的技术,可以使得物体表面呈现出各种细节和纹理。

在OpenGL中,通过纹理对象和纹理坐标来实现纹理映射,从而增强了三维场景的真实感和视觉效果。

四、三维动画设计技术1. 骨骼动画骨骼动画是一种基于骨骼系统进行变换和插值计算的动画技术,可以使得角色或物体呈现出生动的动作和表情。

在OpenGL中,可以通过骨骼动画算法和插值技术实现复杂的角色动画效果。

2. 关键帧动画关键帧动画是一种基于关键帧设置和插值计算的动画技术,通过在不同关键帧上设置物体的位置、旋转等属性,然后通过插值计算生成中间帧,从而实现流畅自然的动画效果。

在OpenGL中,可以通过关键帧插值算法实现各种复杂的动画效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于OpenGL校园漫游系统的设计与开发摘要:本文讨论了基于VC+ +开发平台和O p e n GL的虚拟校园漫游系统的设计与实现,进行了北京航空航天大学新主楼教学区场景的建模,采用绘制位图的方法实现字体显示,通过天空盒技术实现天空绘制,并采用R OA M算法实现地形渲染等,最终实现了虚拟校园漫游系统。

关键词:虚拟校园O p en GL R OAM算法虚拟现实技术已经成为计算机领域的热点,广泛应用到各个领域。

它在学校发展等许多方面发挥了重要的作用,对数字化校园建设有着重要的现实意义[1]。

Op e nGL(Op e n Gr aph ic s L ibr a r y)是一种与硬件、窗口系统和操作系统相独立的一系列A P I,由大量功能强大的图形函数组成。

开发人员可以利用这些函数对整个三维图形进行光色渲染,从而方便地绘制出客观世界逼真的三维景象[2]。

本论文研究的虚拟校园漫游系统,是以北京航空航天大学校本部新主楼教学区域为虚拟空间,根据虚拟现实技术原理,以Vi s u a l C++ 为开发平台,Op e nGL 为核心,结合3D M A X 技术创建出的虚拟校园漫游系统。

1 系统的总体设计思路以及三维场景的生成方法在分析研究了虚拟现实技术的特点以及其在虚拟漫游系统中的运用的基础上,本文以计算机为中心、显示器为视口、键盘和鼠标为交互设备进行研究与开发,实现具有一定人机交互能力的虚拟校园漫游系统,用户可以在三维的虚拟校园中进行自由的漫游,可以实现真实感的交互操作。

本系统由 3 个部分组成:三维场景的建模及其后处理、模型驱动显示、校园漫游部分。

虚拟校园系统中的地理对象按空间分布特性分为两类:一类是以场景为基础,在空间上连续分布的地形景观对象,如地形;另一类是以离散实体为特性,以独立的个体而存在的地物对象,如建筑物、树木、路灯等。

对虚拟校园模型进行分类以后,虚拟校园的三维模型构建流程描述如图1[3]所示:本文采用3D M A X 实现校园新主楼区域的建模,并在此基础上进行纹理处理和渲染,目的是增强虚拟场景的真实感。

2 校园漫游系统的设计与实现2.1 系统框架的设计本系统采用了面向对象(O b j e c tO r i e n t e d,O O)的风格,其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。

在本项目中,建立了三个主要的类:GL _W i n d ow 类、Ke y s 类和GL _A p pl i c a t i o n 类。

其中G L _Wi n d o w 类负责窗口属性的设置和更新,以及建立和删除窗口等操作。

K e y s 类负责读取和设置键盘各个按键的状态,用于后来的人机交互。

G L _ A p p l i c a t i o n 类负责建立我们的应用程序,包括初始化、更新、绘制图形和卸载等操作,以及消息循环处理和定义程序入口等。

2.2 3 D S 文件导入在本项目中,建立了两个主要的类:3D S类和Te x t u r e 类来负责3D S 文件的导入。

最后在程序初始化O p e n GL 的时候运行以下代码:c3D SMo d e l.L o a d (“m i a n 2.3D S”);// 加载3D 模型3D 模型导入的文件格式必须是3D S的。

它是由很多块组成。

而这些块中,大块往往镶嵌着子块。

块是由块信息和块数据组成,而块信息则是由块I D 和块长度组成。

程序运用递归的方法来读取块结构,当父块读取完指向子块时,用s w i t c h 语句来实现。

通过子块的I D 来判断。

流程图如下图2所示。

2.3 虚拟校园漫游的实现2.3.1 字体显示O p e n G L 英文字体的显示主要包括平面文字的显示和立体文字的显示,要想在屏幕上面显示文字,一般按照下面的步骤来进行:(1)在设备场景中创建具有一定属性的字体。

(2)建立一套基于DC 字体字图的显示列表。

(3)用这些显示列表调用g lCa l l L i s t s来一一绘制字符串中的字符。

而在O p e n GL 中显示汉字的基本思想和显示英文是相同的,即用wglUseFontBitmaps或wglUs eFontOut l i ne s 为每个字生成一个显示列表,然后对每个字调用glCal lList() 或对一个字串调用glCallList() 即可显示。

定义一个字体类,主要包括字体的初始化、输出字体和删除字体等操作。

在O p e n G L 中显示中西文混合文本有许多方法,本文介绍一种绘制位图的方法:首先创建一种我们需要的字体,然后在特定的设备场景中用G D I 方式将文字形成一个单色位图,最后调用O p e n G L 绘制位图函数g l Bit m ap () 将文字显示出来。

2.3.2 天空绘制天空盒其实就是一个覆盖场景四周的长方体,但它的各个面上贴有表示天空的问题图片,即四周的四面问题图片的边与顶面纹理图片的边相连,同时四面纹理图片前后相连,图片大小为 2 的N 次方(32,6 4,128,…),利用天空盒可以生成逼真的天空效果。

在O p e n G L 设置纹理滤波的方式中,其中的G L _ T E X T U R E _W R A P _ S 和GL _T EX TUR E _WR A P_T 通常可设置为GL _ R E PEAT 和GL _CLAMP 两种方式。

当待填充的多边形大于纹理的时候,G L _R E P EAT 表示多余的部分用重复的方式填充;GL _CLAMP 表示多余的部分用相连边缘的相邻像素填充。

在天空盒的实际绘制中,这会造成天空盒几幅纹理之间会出现裂缝,降低了天空盒的真实感。

为了解决该问题,本文采用GL _CLAMP_TO_ EDGE 来处理,如下所示:g l T e x P a r m e t e r i ( G L _TEXTURE _2D,GL _TEXTURE _WRAP_S,GL_CLAMP_TO_EDGE);g l T e x P a r m e t e r i ( G L _TEXTURE _2D,GL _TEXTURE _WRAP_T,GL_CLAMP_TO_EDGE);此参数在填充纹理边框时只用于该边的边缘纹理,这就消除了接缝处的细线,增强了天空盒的真实感。

2.3.3 地形渲染由于实际地形的千差万别,使得三维真实感地形模拟的数据量极大,为了减轻地形渲染时硬件的压力,在实现3D 渲染时,需要采用层次细节技术(L OD)[4]。

即距离视点较近的区域,采用较高的细节层次,进行较为逼真的3D 渲染;距离视点较远的区域,采用较低的细节层次,进行大致的3D 渲染。

L O D 技术在大规模地形渲染技术中得到了广泛的应用[5]。

常见的L O D 渲染地形方法有基于视点的渐进格网法(V D P M), 实时优化自适应网格(R O A M)、基于四叉树的简化算法以及这些算法的各种改进算法等。

实时优化自适应网格(R O A M)模型是基于二元三角树结构的,这里每一个地形碎片(P a t c h)都是一个单独的等腰三角形,从它的顶点到对面斜边的中点分割三角形为两个新的等腰三角形。

分割是递归进行的,可以被子三角形重复直到达到希望的细节等级, 使用二元三角树来保持三角坐标而不是存储一个巨大的三角形坐标数组来描绘地形结构,用基于树的结构来控制随着深度增加而呈指数增长的内存,这样可以保持它们的深度在一个很小的有限的范围。

R O A M 分割成小方块的速度很快,而且可以动态更新高程图。

进行三维地形渲染所需要的地形数据存储在高程图里。

高程图使用一个r a w 的数据格式来保存,这个格式的每个像素点包含了8 位的高度信息。

通常高程图必须从头至尾保存在内存中,也就是说,高程图就是保存地形每点高度的二维数组。

利用R O A M 算法渲染地形的大致步骤如下:(1)读入原始r a w 地形数据,并将地形高程数据载入内存。

(2)初始化地形,先将地形分成许多小碎片,并创建二元三角树结构,设置左右孩子、邻居以及父亲节点之间的关系等。

(3)对于可见地形块,按照计算的分割值分割网格的左右两棵树,该过程需要递归地进行。

(4)渲染网格,对每颗二元三角树的叶子节点进行递归绘制。

2.3.4 摄像机漫游(人机交互的实现)O p e nGL 编程实现的三维场景漫游中,程序员常常在原点附近或者在其他方便的位置上构建场景,然后从合适的位置观察场景,以获得较好的观察效果[6]。

观察者可以通过鼠标或键盘来控制视点的位置、视向和参考方向。

当视点的位置、视向和参考方向发生改变时,场景中的物体相对于观察者的方位也发生了改变,从而产生了“动感”。

视线方向可由参考点位置确定(参考点位置减去视点位置即可得到视线方向的向量)。

漫游过程的实质就是通过不断移动视点或改变视线方向而产生三维动画的过程。

比如,通过键盘上的方向键实现前、后、左、右移动,通过鼠标的拖拽实现旋转视图以从多个角度观察地物。

实际上,在实现场景漫游时可以通过设置视点以及观察方向来实现,具体的函数为O p e n G L 中辅助函数库中的g lu L o ok at (),通过设置相应的参数实现场景的漫游效果。

v o i d g l u L o o k a t ( G L d o u b l ee y e x , G L d o u b l e e y e y, G L d o u b l ee y e z ,G L d o u b l e c e n t e r x,G L d o u b l ec e n t e r y,GL d o u b l e c e n t e r z,GL d o u b l eup x,GL double upy,GL double up z);该函数中的9 个参数定义了一个视图矩阵,并使用该矩阵与当前矩阵相乘。

前三个参数(e ye x,e ye y,e ye z)定义了视点的位置,即观察者的位置(相当于我们人的眼睛);中间三个参数(c e nt e r x,c e nt e r y,c e nt e r z)定义了摄像机瞄准的参考点,它决定了摄像机的朝向;最后三个参数(u p x,u p y,u p z)定义了摄像机的向上向量,一般定义为(0,1,0)。

通过鼠标和键盘,用户可以实现在三维场景中的任意漫游,并且可以实现行进加速、纹理模式和线框模式的转换及前、后、左、右的转向,进而可以灵活、准确地对场景进行全方位的观察。

系统可以根据用户的操作快速、有效地定位检索出用户所在的位置,并简洁明了的在界面上显示出来,供用户阅览。

摄像机虚拟漫游效果如下图3 所示。

3 结语虚拟校园漫游系统是计算机技术、虚拟现实技术等诸多高新技术的综合运用,在高校的虚拟校园建设中发挥着重要的作用。

相关文档
最新文档