基于WebGL纹理映射技术的水立方贴图的设计与实现
2013-12-29徐文鹏徐跃通等
摘要:虚拟现实是地理信息科学可视化研究中一个日趋活跃的研究领域,其设计与实现方式之一是真实感图形和纹理贴图技术。WebGL具有平台无关性、简便高效性、Web交互性、无需任何浏览器插件支持等优点,WebGL的研究与应用对于WebGIS可视化是一个有重要意义的课题。该文通过WebGL纹理映射技术设计建立图片和水立方建筑对应关系,实现对水立方的纹理贴图及三维效果展示。
关键词:WEBGL;HTML5;纹理映射
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2013)16-3889-03
WebGL是一组用于在web页面绘制3D图形的绘图标准接口,其继承自OpenGL ES 2.0规范,因而具有强大的图形功能。WebGL技术标准可以为HTML5 Canvas提供硬件3D加速渲染,用于创建具有复杂3D结构的网站页面,此举免去了安装开发网页专用渲染插件的麻烦,因而具有良好的跨平台移植能力。
纹理映射建立纹理贴图和三维曲面之间的对应映射关系的过程,纹理映射技术是WebGL的一个重要的技术,主要应用在将真实纹理贴图映射绘制到三维图形表面,使其更具真实的效果方面,从而大大简化了工作,提高了效率。该文主要讨论通过JavaScript脚本语言利用WebGL技术在浏览器中编程设计实现对水立方的纹理贴图映射。
1 相关术语
1.1 OpenGL
OpenGL(全称Open Graphics Library)是专业的图形程序接口,定义了一套跨编程语言、跨平台的编程接口规范,是行业领域中最为广泛接纳的应用于2D/3D图形上、功能强大、调用方便的底层图形库。
OpenGL是个与硬件无关的软件接口,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2等之间进行移植。因此,支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。截止2012年8月7日,Khronos Group公布了最新的OpenGL 4.3规范。
1.2 纹理贴图
纹理贴图实质上是图像,根据数据组织形式主要分为矢量数据结构纹理贴图和栅格数据结构纹理贴图两类。根据纹理贴图的表现形式,纹理贴图又可分为颜色纹理、几何纹理和过程纹理三类。矢量数据结构纹理贴图是定义一个二元函数,函数的定义域就是纹理贴图;栅格数据结构纹理贴图定义在一个二维数组中,在数组中表示纹理贴图中行列间隔固定的栅格点的灰度值,栅格点之间的灰度值可以用插值法来计算得到。该文应用的纹理贴图是栅格数据结构的纹理贴图。
2.2 关键技术
2.2.1 WebGL的初始化
3 结束语
纹理贴图映射是WebGIS三维可视化方面中重要的技术,该文详细论述利用WebGL的纹理映射技术设计实现对水立方建筑的纹理贴图映射的思路和方法,对实际项目比如街景地图的开发有重要的意义,也为地理信息科学三维可视化提供了简单便捷的研究方法。
参考文献:
[1] 乔林,费广正,林杜,等.OpenGL程序设计[M].北京:清华大学出版社,2000.
[2] Webgl教程[EB/OL].http://www.webglscene.com/tuitorial-webgl-lesson.
[3] HTML5教程[EB/OL].http://www.w3school.com.cn/html5/index.asp.
[4] Rost R J.OpenGL Shading Language[M].北京:人民邮电出版社,2006.
[5] Wright R S.OpenGL Super Bible[M].北京:人民邮电出版社,2010.
[6] 刘爱华,韩勇,张小垒,等.基于WebGL 技术的网络三维可视化研究与实现[J].地理空间信息,2012,10(5):79-81.
[7] 李统乾,刘凤荣.网络三维交互技术(Web3D)概述[J].科技信息,2010(1):45-46.