基于WebGL的三维地形可视化研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于WebGL的三维地形可视化研究.doc

基于WebGL的三维地形可视化研宄 】网络三维是虚拟现实的一个重要发展 方向。介绍了一种免插件的网络三维可视化技术—— WebGL,并使用WebGL和 5实现了三维地形可 视化。WebGL技术与平台无关,简便高效,具有良好 的Web交互性,是一种实现Web3D可视化良好的技 术手段。 关键词】WebGL; Web3D;三维地形 0引言 随着计算机技术和网络技术的快速发展,Web3D 成了时下最热门的研宄方向之一。特别是当互联网进 入Web2.0时代后,Web应用渐渐走进人们的视线, 并逐步占据主导地位。在GIS领域,三维GIS是目前 GIS技术研宄的主流方向之一,其中三维地形可视化[1] 的研宄是三维GIS研宄的一个重要组成部分。对于GIS 来说,地形、地貌是一个必不可少的重要组成部分, 地形和人类活动息息相关,无论是在军事上还是科学 研究中都离不开对地形的研究。在互联网时代,基于 网络的三维地形可视化也就成了时代的呼唤。 Web3D简介 WEB3D是一种在虚拟现实技术的基础上,利用 3D互联网平台对现实世界中的有形物品进行建模及 三维立体展示并可实现互动浏览操作的一种虚拟现实 技术[2]。目前国内外Web3D主流技术有VRML、X3D、 Java3D、Flash3D、03D等。VRML适合几何体的建模, 但它几乎不进行任何的模型缩、不便于处理庞大纹理 贴图数据。随后VRML组织制订了新的三维绘图标 准 Extensible 3D (X3D)。但最终由于各浏览器对 X3D支持不统一,且X3D的可编程体验较差,最终被 Java3D 与 Flash3D 取代。但 Java3D 与 Flash3D 均需在 客户端安装特别的浏览器插件,JavaSD需要安装Java 虚拟机运行环境,而Flash3D同样需要安装Actionscript 虚拟机。强制用户安装插件的做法不太友好,且插件 的更新以及安全问题,也一直是备受困扰的问题。虽 然Java3D、FlashSD等基于CPU的建模语言已经比较 成熟,但随着高端图形卡的普及,程序员期望建模语 言能够充分利用客户端的GPU资源,而节省客户端 CPU资源以进行其它的计算,03D应运而生。03D是 由Google公司发布的一个全新API,是一种基于网页 的可控3D标准。但是使用03D依然需要安装插件。 如何构建一种开放的、跨平台的、免插件的Web3D技 术一直未得到较好的解决,直到WebGL[3]的出现完美 的解决了上述问题。 WebGL技术 2009年8月Khronos提出WebGL绘图技术,它是 一个跨平台、免费的、用于在Web浏览器创建三维 图形的API[4]0 WebGL是基于OpenGLES2.0标准, 并使用OpenGL着色语言GLSL,而且还提供了类似于 标准的OpenGL的API[4]。WebGL可以直接在 5 的Canvas元素中绘制三维动画并提供硬件三维加速 渲染,利用WebGL实现Web3D不需要安装浏览器 插件[5],只需要编写网页代码即可实现三维图像的展 示。相对其他Web3D的实现方式,WebGL的优势主 要表现在:它完美地解决了现有Web交互式三维动 画对插件的依赖和不支持GPU加速两个问题。 WebGI可视化机制 WebGL内嵌于canvas标签内。canvas是 5中 的新概念,它支持采用Javascript绘制2D图形与通 过 WebGL 绘制 3D 图形。WebGL API 是 OpenGL ES2.0的一个子集,其着色器语言采用GLSL。WebGL 的绘制管线与OpenGL的绘制管线相似,但在具体实 施细节稍有不同。下图是WebGL的绘制流程图。 4系统实现步骤 在进行WebGL编程之前,首先需要开启浏览器对 WebGL的支持,本文以Chrome浏览器为例,右键点 击Chrome浏览器快捷方式,选择“属性”。在“目标 (T)”框内,双引号的后边,输入以下内容即可: -enable-webgl -ignore-gpu-blacklist -allow-file-access-from-files 首先在绘制之前需要获取WebGL的绘制环境(绘 制上下文)。可通过调用canvas元素的getContext (“webgl”)方法获得WebGL的绘制环境。具体代码 如下: varmyCanvasObject = docunient.getElementByld (“ myCanvas’’); varwebgl = myCanvasObject.getContext(“webgl”); 获得WebGL上下文之后,开始准备数据,用户可 以自己编写数据,但最终数据要存储在WebGL识别的 显存区(Buffer),本系统原型中需要顶点数组与顶点 索引数组。下面是We

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档