留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

面向3DGIS渲染逼真度的方法研究

王伟 李鹏飞 王鹏 王超

王伟, 李鹏飞, 王鹏, 王超. 面向3DGIS渲染逼真度的方法研究[J]. 武汉大学学报 ● 信息科学版, 2017, 42(8): 1090-1095. doi: 10.13203/j.whugis20160098
引用本文: 王伟, 李鹏飞, 王鹏, 王超. 面向3DGIS渲染逼真度的方法研究[J]. 武汉大学学报 ● 信息科学版, 2017, 42(8): 1090-1095. doi: 10.13203/j.whugis20160098
WANG Wei, LI Pengfei, WANG Peng, WANG Chao. A Method of Rendering Fidelity on 3DGIS[J]. Geomatics and Information Science of Wuhan University, 2017, 42(8): 1090-1095. doi: 10.13203/j.whugis20160098
Citation: WANG Wei, LI Pengfei, WANG Peng, WANG Chao. A Method of Rendering Fidelity on 3DGIS[J]. Geomatics and Information Science of Wuhan University, 2017, 42(8): 1090-1095. doi: 10.13203/j.whugis20160098

面向3DGIS渲染逼真度的方法研究

doi: 10.13203/j.whugis20160098
基金项目: 

国家自然科学基金 41601406

详细信息
    作者简介:

    王伟, 博士, 教授, 主要从事软件工程、空间信息系统以及三维地理信息系统方面的研究。wangwei8091@163.com

    通讯作者: 王超, 博士。c.wang@whu.edu.cn
  • 中图分类号: P208

A Method of Rendering Fidelity on 3DGIS

Funds: 

The National Natural Science Foundation of China 41601406

More Information
    Author Bio:

    WANG Wei, PhD, professor, specializes in the theories and methods of software engineering, space information system, and 3D GIS. E-mail: wangwei8091@163.com

    Corresponding author: WANG Chao, PhD. E-mail: c.wang@whu.edu.cn
  • 摘要: 为了提高3DGIS中的仿真逼真度,引入目前最流行的延迟渲染技术,并结合基于物理的双向反射分布函数(BRDF)光照模型、屏幕环境光遮蔽(SSAO)和高动态范围光照(HDR)技术,提出了一种新的3DGIS渲染方法-BSHRF。该方法中,基于物理渲染的BRDF光照模型提高了3DGIS中的材质效果;SSAO技术利用较少的计算量,大大提高了场景真实度的光照细节;HDR技术将图像的逼真度再次提升一个层次。最后,为了验该方法的可行性与先进性,在3DGIS软件平台Gaea Explorer上,应用BSHRF方法对植被场景和三维建筑场景分别进行渲染,并从渲染效果与效率两个方面,与当前流行的3DGIS软件Google Earth和ArcScene进行对比。实验结果表明,BSHRF方法在不损失渲染效率的情况下,能够得到更好的渲染逼真度。
  • 图  1  G-Buffer的优化策略

    Figure  1.  Optimization Strategy of G-Buffer

    图  2  植被场景渲染效果

    Figure  2.  Rendering Result of Vegetation Scene

    图  3  三维建筑场景渲染效果

    Figure  3.  Rendering Result of 3D Building Scene

    图  4  渲染效率对比分析

    Figure  4.  Comparative Analysis of Rendering Efficiency

    表  1  渲染效果对比分析

    Table  1.   Comparative Analysis of Rendering Effect

    名称 Google Earth/ArcScene 无BSHRF BSHRF
    光照计算 只有简单的明暗计算,没有光照计算,明暗区域不真实,场景整体缺少立体感层次 缺乏充足的光照计算,明暗区域不真实,场景整体立体感不真实 基于BRDF的光照计算,明暗细节真实,整体场景立体层次清晰
    材质细节 无材质技术,仅依靠纹理展现表面细节,表面效果差,并且有很多瑕疵问题 材质细节渲染差,表面效果不真实
    基于物理BRDF的材质计算,材质表面真实生动
    后图像处理 无后期图像处理技术,场景效果极其单一,无真实感
    缺少后期图像处理计算,场景观感单调,真实感差
    使用SSAO、HDR等后期计算,场景细节丰富,真实感强
    下载: 导出CSV
  • [1] Sun M, Dong N, Zheng H, et al. A Method of 3D-GIS Application Aided with Stereo Panorama Technology[J]. International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 2013, XL-4/W3:123-130 doi:  10.5194/isprsarchives-XL-4-W3-123-2013
    [2] 于文洋. 面向数字地球的三维景观构造关键技术研究[D]. 北京: 中国科学院, 2006 http://cdmd.cnki.com.cn/Article/CDMD-80070-2006157789.htm

    Yu Wenyang. Digital Earth Oriented Key Technologies for 3D Landscape Development[D]. Beijing:Chinese Academy of Sciences, 2006 http://cdmd.cnki.com.cn/Article/CDMD-80070-2006157789.htm
    [3] Wang Y, Zhang L, Sun J, et al. Research on Real-Time Visualization of Massive Data Oriented to Digital Earth[C]. Information Engineering and Computer Science, Wuhan, 2009
    [4] Pradhan B. 3D Terrain Data Compression Using Wavelets[M]. Saarbrücken:LAP LAMBERT Academic Publishing, 2011
    [5] 朱海军, 吴华意, 李德仁.基于DCT变换的GIS矢量数据压缩技术研究[J].武汉大学学报·信息科学版, 2007, 32(12):1123-1126 http://ch.whu.edu.cn/CN/abstract/abstract2060.shtml

    Zhu Haijun, Wu Huayi, Li Deren. DCT-Based GIS Vector Data Compression[J].Geomatics and Information Science of Wuhan University, 2007, 32(12):1123-1126 http://ch.whu.edu.cn/CN/abstract/abstract2060.shtml
    [6] 蔡畅. 三维地理信息网络服务的理论与关键技术研究[D]. 郑州: 信息工程大学, 2011 http://cdmd.cnki.com.cn/article/cdmd-90008-1012324969.htm

    Cai Chang. Theory and Key Technology Research on 3D GIS Web Service[D].Zhengzhou:Information Engineering University, 2011 http://cdmd.cnki.com.cn/article/cdmd-90008-1012324969.htm
    [7] Zhang X, Sui Z, Wu L, et al. A Processing and Scheduling Method for Vector Rendering in Global 3D GIS[C]. 19th International Conference on. Geoinformatics, Shanghai, 2011
    [8] Wei P, Xu Y. Research on Realtime Rendering of 3D High-Speed Rail GIS[C]. International Conference on Image and Graphics, Qingdao, 2013
    [9] 李拥, 李朝奎, 吴柏燕, 等.一种采用OpenMP技术的3DGIS并行绘制模型[J].武汉大学学报·信息科学版, 2013, 38(12):1495-1498 http://ch.whu.edu.cn/CN/abstract/abstract2824.shtml

    Li Yong, Li Chaokui, Wu Baiyan, et al. 3D GIS Parallel Rendering Model Based on OpenMP Technology[J].Geomatics and Information Science of Wuhan University, 2013, 38(12):1495-1498 http://ch.whu.edu.cn/CN/abstract/abstract2824.shtml
    [10] Martínez-Graa A, Valdés Rodríguez V. Remote Sensing and GIS Applied to the Landscape for the Environmental Restoration of Urbanizations by Means of 3D Virtual Reconstruction and Visualization (Salamanca, Spain)[J].ISPRS International Journal of Geo-Information, 2016, 5(1):1-24 doi:  10.3390/ijgi5010001
    [11] Yin L, Zhu J, Zhang X, et al. Visual Analysis and Simulation of Dam-Break Flood Spatiotemporal Process in a Network Environment[J]. Environmental Earth Sciences, 2015, 74(10):1-14 doi:  10.1007/s12665-015-4418-3
    [12] 赵祥, 刘素红, 唐义闵, 等. BRDF模型参数分阶段鲁棒性反演方法[J].遥感学报, 2006, 10(6):901-909 doi:  10.11834/jrs.200606132

    Zhao Xiang, Liu Suhong, Tang Yimin, et al.Studying on Multi-stage Robust Estmiation of BRDF Model Parameters[J]. Journal of Remote Sensing, 2006, 10(6):901-909 doi:  10.11834/jrs.200606132
    [13] Wu X, Zhang J, Chen Y, et al. Real-Time Mid-Wave Length Infrared Scene Rendering with a Feasible BRDF Model[J]. Infrared Physics & Technology, 2015, 68:124-133 http://www.sciencedirect.com/science/article/pii/S1350449514002631
    [14] Kang Y M, Lee D H, Cho H G. Multipeak Aniostropic Microfacet Model for Iridescent Surfaces[J]. Multimedia Tools & Applications, 2014, 70:1-14 doi:  10.1007/s11042-014-2092-1
    [15] Jonathan D, Eric H, Jean Claude I, et al. Extracting Microfacet-Based BRDF Parameters from Arbitrary Materials with Power Iterations[J]. Computer Graphics Forum, 2015:21-30 doi:  10.1111/cgf.12675/pdf
    [16] Wu F K, Zheng C W. Microfacet-Based Interference Simulation for Multilayer Films[J]. Graphical Models, 2015, 78:26-35 doi:  10.1016/j.gmod.2014.12.003
    [17] 邱祥松, 李泽昇, 吴志红, 等.改进的基于屏幕空间环境遮挡[J].计算机学报, 2014, 37(3):642-648 http://www.cnki.com.cn/Article/CJFDTOTAL-JSJX201403014.htm

    Qiu Xiangsong, Li Zesheng, Wu Zhihong, et al. Improved Screen Space Ambient Occlusion[J]. Chinese Journal of Computers, 2014, 37(3):642-648 http://www.cnki.com.cn/Article/CJFDTOTAL-JSJX201403014.htm
    [18] 李文耀. 交互式系统中的环境光遮蔽技术研究[D]. 杭州: 浙江大学, 2011 http://cdmd.cnki.com.cn/Article/CDMD-10335-1011051977.htm

    Li Wenyao. Research of Ambient Occlusion in Interactive Systems[D]. Hangzhou:Zhejiang University, 2011 http://cdmd.cnki.com.cn/Article/CDMD-10335-1011051977.htm
    [19] Christian E, Gregory N, Andrew S, et al. Sorted Deferred Shading for Production Path Tracing[J]. Computer Graphics Forum, 2013, 32(4):125-132 doi:  10.1111/cgf.12158
    [20] Schollmeyer A, Babanin A, Froehlich B. Order-Independent Transparency for Programmable Deferred Shading Pipelines[J]. Computer Graphics Forum, 2015, 34(7):67-76 doi:  10.1111/cgf.12746
    [21] Debevec P, Reinhard E, Ward G, et al. High Dynamic Range Imaging[J]. Exascale Radio Astronomy, 2014, 46(97):1881-1886
    [22] Narwaria M, Silva M P D, Callet P L. HDR-VQM:An Objective Quality Measure for High Dynamic Range Video[J]. Signal Processing Image Communication, 2015, 35:46-60 doi:  10.1016/j.image.2015.04.009
  • [1] 赵强, 何陈照, 杨世植, 方廷勇, 朱曙光.  利用IFC和CityGML进行地下空间模型转换——以城市综合管廊为例 . 武汉大学学报 ● 信息科学版, 2020, 45(7): 1058-1064. doi: 10.13203/j.whugis20180409
    [2] 郭煜坤, 朱军, 付林, 李维炼, 郑全红, 赵媛媛, 吴思豪.  一种面向公众教育的滑坡灾害可视化视觉表征方法 . 武汉大学学报 ● 信息科学版, 2020, 45(9): 1378-1385. doi: 10.13203/j.whugis20200091
    [3] 应申, 陈乃镔, 李威阳, 郭仁忠, 贺彪, 赵志刚, 汪善华.  三维房产群集对象可视化方法 . 武汉大学学报 ● 信息科学版, 2020, 45(1): 81-88. doi: 10.13203/j.whugis20190242
    [4] 刘坡, 王莹.  基于3DGIS的机动车尾气扩散模拟和体视化研究 . 武汉大学学报 ● 信息科学版, 2020, 45(6): 933-940. doi: 10.13203/j.whugis20180467
    [5] 李春鑫, 彭认灿, 高占胜, 王海波.  一种改进的三维流场数据可视化方法 . 武汉大学学报 ● 信息科学版, 2017, 42(6): 744-748. doi: 10.13203/j.whugis20141000
    [6] 陈静, 邹成, 黄吴蒙, 刘博洋.  面向虚拟地球的三维气象场可视化方法 . 武汉大学学报 ● 信息科学版, 2016, 41(12): 1563-1569. doi: 10.13203/j.whugis20140520
    [7] 华一新, 李响, 赵军喜, 王丽娜, 张晶.  一种基于标签云的位置关联文本信息可视化方法 . 武汉大学学报 ● 信息科学版, 2015, 40(8): 1080-1087. doi: 10.13203/j.whugis20130794
    [8] 陈 静, 刘婷婷, 侯小波.  面向虚拟地球的多尺度矢量数据可视化方法 . 武汉大学学报 ● 信息科学版, 2015, 40(9): 1195-1200. doi: 10.13203/j .whu g is20130532
    [9] 郭明强, 黄颖, 吴亮, 谢忠.  网络环境下矢量数据高效并行可视化方法 . 武汉大学学报 ● 信息科学版, 2014, 39(11): 1382-1386.
    [10] 陈静, 吴思, 谢秉雄.  面向GPU绘制的复杂三维模型可视化方法 . 武汉大学学报 ● 信息科学版, 2014, 39(1): 106-111.
    [11] 李拥, 李朝奎, 吴柏燕, 殷智慧.  一种采用OpenMP技术的3DGIS并行绘制模型 . 武汉大学学报 ● 信息科学版, 2013, 38(12): 1495-1498.
    [12] 虞昌彬, 胡乔, 任福, 杜清运.  利用B/S架构的POI信息组织方法及可视化策略研究 . 武汉大学学报 ● 信息科学版, 2012, 37(2): 233-236.
    [13] 吴迪军, 黄全义, 孙海燕, 宋玉刚.  突发性水污染扩散模型及其在GIS平台中的可视化 . 武汉大学学报 ● 信息科学版, 2009, 34(2): 131-134.
    [14] 黄丽娜, 郑斌, 吴志华, 费立凡.  道路平面交叉口空间的动态归属及可视化表达 . 武汉大学学报 ● 信息科学版, 2008, 33(4): 426-429.
    [15] 张昆, 张松林, 刘祖强, 杨红.  滑坡变形的三维可视化研究 . 武汉大学学报 ● 信息科学版, 2006, 31(9): 795-798.
    [16] 石旭, 边馥苓, 江聪世.  Web GIS平台上矢量图形可视化的JVGL方法 . 武汉大学学报 ● 信息科学版, 2006, 31(10): 928-931.
    [17] 魏占营, 王宝山, 李青元.  地下巷道的三维建模及C(++)实现 . 武汉大学学报 ● 信息科学版, 2005, 30(7): 650-653.
    [18] 艾廷华.  基于Monte Carlo方法的不确定性地理现象可视化 . 武汉大学学报 ● 信息科学版, 2004, 29(3): 239-243,281.
    [19] 侯恩科, 吴立新.  面向地质建模的三维体元拓扑数据模型研究 . 武汉大学学报 ● 信息科学版, 2002, 27(5): 467-472.
    [20] 王豪, 黄健, 黄祥, 袁镜清, 贺子城.  一种利用Unity3D模拟崩塌三维运动全过程的方法 . 武汉大学学报 ● 信息科学版, 0, 0(0): 0-0. doi: 10.13203/j.whugis20210237
  • 加载中
图(4) / 表(1)
计量
  • 文章访问数:  1130
  • HTML全文浏览量:  78
  • PDF下载量:  386
  • 被引次数: 0
出版历程
  • 收稿日期:  2016-04-19
  • 刊出日期:  2017-08-05

面向3DGIS渲染逼真度的方法研究

doi: 10.13203/j.whugis20160098
    基金项目:

    国家自然科学基金 41601406

    作者简介:

    王伟, 博士, 教授, 主要从事软件工程、空间信息系统以及三维地理信息系统方面的研究。wangwei8091@163.com

    通讯作者: 王超, 博士。c.wang@whu.edu.cn
  • 中图分类号: P208

摘要: 为了提高3DGIS中的仿真逼真度,引入目前最流行的延迟渲染技术,并结合基于物理的双向反射分布函数(BRDF)光照模型、屏幕环境光遮蔽(SSAO)和高动态范围光照(HDR)技术,提出了一种新的3DGIS渲染方法-BSHRF。该方法中,基于物理渲染的BRDF光照模型提高了3DGIS中的材质效果;SSAO技术利用较少的计算量,大大提高了场景真实度的光照细节;HDR技术将图像的逼真度再次提升一个层次。最后,为了验该方法的可行性与先进性,在3DGIS软件平台Gaea Explorer上,应用BSHRF方法对植被场景和三维建筑场景分别进行渲染,并从渲染效果与效率两个方面,与当前流行的3DGIS软件Google Earth和ArcScene进行对比。实验结果表明,BSHRF方法在不损失渲染效率的情况下,能够得到更好的渲染逼真度。

English Abstract

王伟, 李鹏飞, 王鹏, 王超. 面向3DGIS渲染逼真度的方法研究[J]. 武汉大学学报 ● 信息科学版, 2017, 42(8): 1090-1095. doi: 10.13203/j.whugis20160098
引用本文: 王伟, 李鹏飞, 王鹏, 王超. 面向3DGIS渲染逼真度的方法研究[J]. 武汉大学学报 ● 信息科学版, 2017, 42(8): 1090-1095. doi: 10.13203/j.whugis20160098
WANG Wei, LI Pengfei, WANG Peng, WANG Chao. A Method of Rendering Fidelity on 3DGIS[J]. Geomatics and Information Science of Wuhan University, 2017, 42(8): 1090-1095. doi: 10.13203/j.whugis20160098
Citation: WANG Wei, LI Pengfei, WANG Peng, WANG Chao. A Method of Rendering Fidelity on 3DGIS[J]. Geomatics and Information Science of Wuhan University, 2017, 42(8): 1090-1095. doi: 10.13203/j.whugis20160098
  • 3DGIS经过多年发展,其应用已非常普遍,以Google Earth、SkyLine、ArcScene等为代表的相关软件得到广泛应用。目前,关于3DGIS的研究主要集中在更优的大规模数据与场景的管理与网络调度[1-3]、更优的数据压缩算法[4-5]、更先进的数据服务[6]和更高的渲染效率[7-9]等方面,而针对3DGIS渲染逼真度的研究比较少。相比较于虚拟仿真,3DGIS在画质、特效、细节、体感等方面都比较落后[10, 11]

    实际中,对3DGIS渲染逼真度要求比较高的应用需求也较高。例如,在三维数字流域的溃坝应用中,既需要使用3DGIS技术对整个流域的虚拟三维地形地貌进行精细建模与可视化,同时也需要使用高逼真度的渲染技术获得逼真的、身临其境的虚拟体验,从而实现对溃坝过程以及溃坝后的淹没过程的科学三维虚拟再现,达到辅助决策预警救灾的作用。为了达到此目标,本文提出了一种新的3DGIS渲染方法-BSHRF,大大提高了3DGIS的渲染逼真度,从而扩展了3DGIS的应用领域与范围。为了验该方法的可行性与先进性,本文在3DGIS软件平台Gaea Explorer上,应用BSHRF方法对植被场景和三维建筑场景分别进行渲染,并从渲染效果与效率两个方面,与当前流行的3DGIS软件Google Earth和ArcScene进行对比。

    • 为了提高3DGIS中的渲染逼真度,本文将计算机图形学中的渲染理论引入到3DGIS领域,与3DGIS技术进行融合,从而提出了一种新的3DGIS渲染框架。此渲染框架结合了目前最流行的延迟渲染(Deferred Shading)技术、基于物理的双向反射分布函数(bidirectional reflectance distribution function,BRDF)光照模型、屏幕环境光遮蔽(screen-space ambient occlusion,SSAO)和高动态范围光照(high-dynamic range,HDR)技术,整体渲染流程如下。

      1) 计算几何特征(geometry),生成G-Buffer;

      2) 计算材质(material)特性;

      3) 计算入射光(lighting)(基于物理的BRDF光照模型);

      4) 计算Lighting对表面(surface)的影响;

      5) 计算高动态范围光照(HDR),并输出渲染结果。

      在本渲染方法中,先执行前两步,再执行后几步,把一些运算移到二维空间运算(如光照计算等),从而能够在复杂场景、多光源场景中,极大地提高渲染效率。

    • 光照模型是用于研究几何体表面光照物理现象的模型,按照性质可以分为全局光照与局部光照模型两种。常见的光照模型有Lambert模型、Phong模型、Blinn-Phong模型、Rendering Equation模型等。以上模型除了Rendering Equation模型之外,都属于经验模型,即“效果和真实差不多”,当物体表面异常复杂时,效果变得非常糟糕;而Rendering Equation属于全局光照模型,消耗较大。BRDF[12, 13]是基于物理的,基于BRDF的渲染模型可以在不同光照环境下容易地建立起接近真实的材质,而且其计算量与Phong模型相当,即在提高渲染效果时对渲染效率的影响不大。因此,本文采用BRDF光照模型。BRDF模型的计算方法为:

      $$ {L_o}\left( v \right) = \int_\mathit{\Omega } {p\left( {1,v} \right) \otimes {L_i}\left( \mathit{\boldsymbol{l}} \right)\left( {\mathit{\boldsymbol{n}} \cdot \mathit{\boldsymbol{l}}} \right){\rm{d}}{w_i}} $$ (1)

      式中,(n·l)是表面法线和光源的夹角;p(1, v)是BRDF方程;Li(l)是光源给予的影响;积分表示所有光源在一点上的影响之和。

      引入“微面光源”的概念,可以得到针对精确光源的BRDF模型:

      $$ {L_o}\left( v \right) = {\rm{ \mathsf{ π} }}p\left( {{\mathit{\boldsymbol{l}}_c},v} \right) \otimes {C_{{\rm{light}}}}\left( {\mathit{\boldsymbol{n}} \cdot {\mathit{\boldsymbol{l}}_c}} \right) $$ (2)

      为了达到更加逼真的光照效果,引入Microfacet[14-16]理论,最终推出基于物理的渲染模型:

      $$ \begin{array}{*{20}{c}} {{L_o}\left( v \right) = \left( {{C_{{\rm{diff}}}} + \frac{{\alpha + 2}}{8}{{\left( {\mathit{\boldsymbol{n}} \cdot {h}} \right)}^\alpha }F\left( {{C_{{\rm{spec}}}},{\mathit{\boldsymbol{l}}_c},h} \right)} \right) \otimes }\\ {{C_{{\rm{light}}}}\left( {\mathit{\boldsymbol{n}} \cdot {\mathit{\boldsymbol{l}}_c}} \right)} \end{array} $$ (3)

      式(2)、式(3) 中,Lo(v)表示光照结果;v表示视线方向;n表示表面法线;Clight表示精确光源颜色;lc表示光源方向向量;p(lc, v)表示BRDF方程;(n, lc)表示光源与表面法线的夹角;Cdiff表示漫反射色;α为高光强度;h表示微面元值;(n·h)表示表面法线与微面元的法线;Cspec表示镜面反射值;F(Cspec, lc, h)表示菲涅尔函数。与其他模型相比,计算量几乎没有增加,但视觉效果得到了极大提高。

    • 环境光遮蔽(ambient occlusion,AO)[17, 18]是全局光照中一个很重要的概念,主要用于描述物体间的相互遮挡关系和漫射光线间相互作用的效果。目前最常用的AO是SSAO,它以图像处理的方式,模拟出场景接受环境光遮挡的情况,与传统的三维算法相比,效率得到了很大提高。

      SSAO的原理为,假设产生遮蔽的场景点的集合是以点为球心的半径为r的球体,球体内各点p对中心的遮蔽值贡献为f(p),则中心点的遮蔽值就是这个球体对f(p)的球体积分;如果让r足够小,并在球体中进行有限采样,然后计算出每个采样点的f(p),取其统合值便得到了AO值。采样点的数量越多效果越真实,但会增加计算量。在实时渲染时,当采样点达到一定数量,就能产生比较好的效果,这个系数可以作为公共变量随时进行调整。根据遮蔽原理,判断一个场景点A是否受其周围某个场景点B的遮挡,应先判断向量AB是否与A点的光线出射方向(法线向量)同侧。如果非同侧则不具备遮蔽光线的条件;如果同侧,则两向量夹角越小,遮挡程度越大;同时,两点距离越小,遮蔽贡献也越大,在屏幕空间下,通过G-Buffer很容易获得以上所需的信息。

      Zdepth为深度缓冲值,Zview为视图空间下的Z,则根据投影变换矩阵Mproj,有:

      $$ {Z_{{\rm{depth}}}} = \frac{{{\mathit{\boldsymbol{M}}_{{\rm{proj}}}}\left[ {10} \right] \cdot {Z_{{\rm{view}}}} + {\mathit{\boldsymbol{M}}_{{\rm{proj}}}}\left[ {14} \right]}}{{ - {Z_{{\rm{view}}}}}} $$ (4)

      解得:

      $$ {Z_{{\rm{view}}}} = \frac{{ - {\mathit{\boldsymbol{M}}_{{\rm{proj}}}}\left[ {14} \right]}}{{{Z_{{\rm{depth}}}} + {\mathit{\boldsymbol{M}}_{{\rm{proj}}}}\left[ {10} \right]}} $$ (5)

      获得Zview,再结合像素坐标(xy)和Mproj,很容易反算出像素(xy)对应的三维空间坐标p,像素的法线N可以直接从G-Buffer中获得,接下来在像素的r半径范围内,对每一个像素求遮蔽贡献:

      $$ {\mathit{\boldsymbol{C}}_{{\rm{norm}}}} = \max \left( {0,{\mathit{\boldsymbol{V}}_{{\rm{norm}}}} \cdot {\mathit{\boldsymbol{V}}_{{\rm{AB}}}} - {F_{{\rm{bias}}}}} \right) $$ (6)
      $$ {C_{{d_s}}} = \frac{1}{{1 + d_s^2}} $$ (7)
      $$ O = {\mathit{\boldsymbol{C}}_{{\rm{norm}}}} \times {C_{{d_s}}} $$ (8)

      式中,Fbias为调控系数,可以取0.01;ds为两个空间点的欧氏距离;Vnorm为目标点法线;VAB为两个空间点的方向关系;Cnorm为法向量;O即为AO的计算结果。

      最后取所有像素点对目标像素点的遮蔽累加,即获得最终遮蔽值,为了进一步提升最终效果,还可以使用高斯模糊进行适当处理。

    • Deferred Shading[19, 20]是一种新的渲染流程或工艺,在常规渲染存在诸多缺陷的背景下诞生。需要说明的是,虽然Deferred Shading占用较多GPU带宽,但其对多光源渲染具有很大优势,因此目前只在Deferred Shading中计算光照。Deferred Shading最大的特点是可以同时容纳非常多的动态光源,这是传统的渲染无法做到的,鉴于光照对场景的重要性,本文选择Deferred Shading。

    • 预处理的信息包括深度图(depth map)、阴影图(shadow map)与AO图等。如果还需要一些其他在光照计算过程(lighting pass)与阴影计算过程(shading pass)阶段使用的信息,都可以在这个阶段预先生成。

      光照计算过程是Deferred Shading的核心,直接关系到G-Buffer与阴影计算过程的实现。本文在光照计算过程中使用BRDF作为光照模型(式(2)~(3))。对有N个光源的情况,每个像素的光照为:

      $$ \begin{array}{*{20}{c}} {{L_0}\left( v \right) = \left( {{C_{{\rm{diff}}}} + \frac{{\alpha + 2}}{8}{{\left( {\mathit{\boldsymbol{n}} \cdot {\mathit{\boldsymbol{h}}_1}} \right)}^\alpha }F\left( {{\boldsymbol{C}_{{\rm{spec}}}},{\mathit{\boldsymbol{l}}_{c1}},{h_1}} \right)} \right) \otimes }\\ {{C_{{\rm{light1}}}}\left( {\mathit{\boldsymbol{n}} \cdot {\mathit{\boldsymbol{l}}_{c1}}} \right) + }\\ {\left( {{C_{{\rm{diff}}}} + \frac{{\alpha + 2}}{8}{{\left( {\mathit{\boldsymbol{n}} \cdot {h_2}} \right)}^\alpha }F\left( {{\mathit{\boldsymbol{C}}_{{\rm{spec}}}},{\mathit{\boldsymbol{l}}_{c2}},{h_2}} \right)} \right) \otimes }\\ {{C_{{\rm{light2}}}}\left( {\mathit{\boldsymbol{n}} \cdot {\mathit{\boldsymbol{l}}_{c2}}} \right) + \cdots + }\\ {\left( {{{\left( {\mathit{\boldsymbol{n}} \cdot {\mathit{\boldsymbol{h}}_N}} \right)}^\alpha }F\left( {{\mathit{\boldsymbol{C}}_{{\rm{spec}}}},{\mathit{\boldsymbol{l}}_{cN}},{h_N}} \right)} \right) \otimes {C_{{\rm{light}}N}}\left( {\mathit{\boldsymbol{n}} \cdot {\mathit{\boldsymbol{l}}_{cN}}} \right)} \end{array} $$ (9)

      由于Cdiff在阴影计算过程阶段才计算,所以在每个光照计算过程里面,可以把漫反射(Diffuse)和镜面反射(Specular)分离出来,而为了把Diffuse和Specular容纳到只有4个通道的Buffer中,丢弃Specular的颜色,只计算亮度,把Cspec简化为一个标量,光照计算过程就简化成:

      $$ \begin{array}{*{20}{c}} {{L_o}\left( v \right) = {\rm{float4}}\left( {1,1,1,{{\left( {\mathit{\boldsymbol{n}} \cdot {{h}_n}} \right)}^\alpha }F\left( {{\boldsymbol{C}_{{\rm{spec}}}},{\mathit{\boldsymbol{l}}_{cn}},{h_n}} \right)} \right) \times }\\ {{C_{{\rm{lightn}}}}\left( {\mathit{\boldsymbol{n}} \cdot {\mathit{\boldsymbol{l}}_{cn}}} \right)} \end{array} $$ (10)
    • G-Buffer分配对Deferred Shading来说非常关键。根据式(10) 可知,需要在G-Buffer中传递的变量有nhαCspeclc,而h=(v+lc)/2,lc为(l-p)的归一化结果(其中,p是要计算的点的位置,l是光源,v为视线方向),这样需要G-Buffer传递的变量就只剩下npαCspec

      要完整保存这些信息需要8个通道,这可以使用两个渲染目标(RT)来完成,但如果有时候渲染要求并不是很高,比如可以省略菲涅尔现象,则可以再进一步简化。对于法线n,可以采用归一化方法,将三维向量编码为二维向量;对于p,因为已知屏幕xy,可以通过与深度信息z值的空间反算获得,因此p只需要一个变量z,算法如下:

      $$ p = {v_d} \cdot \left( {\left( {z \cdot {f_p}} \right)/{v_{\rm{d}}} \cdot z} \right) $$ (11)

      式中,vd表示视线方向,fp表示远视景截面。如果不考虑菲涅尔定理,则Cspec也可以忽略,而α可以换算为[0, 255],即一个字节。这样上面初步估算的8个通道被压缩成了4个通道,在一个RT中即可完成,如图 1所示,可进一步节省GPU带宽。

      图  1  G-Buffer的优化策略

      Figure 1.  Optimization Strategy of G-Buffer

    • 阴影计算过程是把前面所有光照计算过程积累的光照信息和物体本身的材质信息组合起来,得出最后的着色结果,物体材质中的Cspec已经存在G-Buffer,并在光照计算过程中计算了,所以阴影计算过程输入的材质有CdiffCspecCemitα,结合前面的推导,则阴影为:

      $$ \begin{array}{*{20}{c}} {{C_{{\rm{emit}}}} + }\\ {\left( {{C_{{\rm{lighting}}}} \cdot {\rm{rgb}} \cdot {C_{{\rm{diff}}}} + \frac{{\alpha + 2}}{8} \cdot {C_{{\rm{lighting}}}} \cdot \alpha } \right) \cdot {\rm{AO}}} \end{array} $$ (12)

      如果在G-Buffer和光照计算过程不考虑菲涅尔现象,那么阴影为:

      $$ \begin{array}{*{20}{c}} {{C_{{\rm{emit}}}} + }\\ {\left( {{C_{{\rm{lighting}}}} \cdot {\rm{rgb}} \cdot {C_{{\rm{diff}}}} + \frac{{\alpha + 2}}{8} \cdot {C_{{\rm{spec}}}} \cdot {C_{{\rm{lighting}}}} \cdot \alpha } \right) \cdot {\rm{AO}}} \end{array} $$ (13)

      式中,Cemit表示自发光值;Clighting表示光照值。

    • 三维场景中所有的可见要素都用纹理、颜色、光照进行表达,表达的最终结果即为屏幕上像素点的颜色。最暗色是屏幕像素完全不发光的颜色,最亮则是屏幕的亮度,这和现实场景是不符的。HDR[21, 22]是一种图像后处理技术,通过人眼错觉,表达出显示器所不能表达的亮度范围,可以较好地解决该问题。首先,假设已经有一个HDR图像,每一个像素都是一个浮点型的变量,这样每个分量的大小不再限于0~255之间。同时,为每个表面创建一张浮点格式的光照贴图。接下来是曝光控制(Tone Mapping生成),最简单的Tone Mapping生成方式是:

      $$ {L_{{\rm{final}}}} = \frac{{L - \alpha }}{{\beta - \alpha }} $$ (14)

      式中,Lfinal为最终亮度值;L是映射前额像素亮度值;α是图像中的最小亮度值;β是图像中的最大亮度值。Tone Mapping生成方式可以把动态的像素映射到(0,1),但缺乏动态性。比如,人从黑暗的屋子走到室外,会觉得刺眼,但是经过一点时间后,会恢复正常;反之,从明亮的室外走进较暗的屋子,会眼前一片漆黑,适应一段时间后会慢慢恢复。这是人眼对光的自适应特性,因此需要构造出与人眼适应性相同的动态Tone Mapping生成方式,并计算出曝光参数。

      首先计算平均亮度Laverage

      $$ {{L'}_{{\rm{average}}}} = \exp \left( {\frac{1}{N}\sum\nolimits_{x,y} {\ln \left( {\delta + L'\left( {x,y} \right)} \right)} } \right) $$ (15)

      式中, δ是一个很小的常数,如0.000 01,是为了防止结果趋于负无穷大;L′(x, y)由经验给出,本文中L′(x, y)=0.27R+0.67G+0.06B

      那么对于原始图像上任意一点L′(x, y),有:

      $$ {{L'}_{{\rm{scaled}}}}\left( {x,y} \right) = \frac{{\alpha \cdot L'\left( {x,y} \right)}}{{{{L'}_{{\rm{average}}}}}} $$ (16)

      式中,Lscaled(x, y)为映射结果;α为明暗常数,可以调整。按照这样的公式Lscaled(x, y)并不处于(0,1) 范围,通过式(17) 把其归一化到(0,1):

      $$ {{L'}_{{\rm{final}}}}\left( {x,y} \right) = \frac{{{{L'}_{{\rm{scaled}}}}\left( {x,y} \right)}}{{1 + {{L'}_{{\rm{scaled}}}}\left( {x,y} \right)}} $$ (17)
    • 为了验证本文所提出方法的可行性和先进性,本文在3DGIS软件平台Gaea Explorer上,应用BSHRF方法分别对植被场景和三维建筑场景进行渲染,并从渲染效果与效率两个方面,与当前流行的3DGIS软件Google Earth和ArcScene进行对比。实验环境为:内存4 GB,CPU i7双核2.7 GHz,显卡EVGA GTX950。

      植被场景的渲染效果如图 2所示。其中图 2(c)图 2(d)都是Gaea Explorer的渲染效果,前者没有使用BSHRF方法,后者使用了BSHRF方法。

      图  2  植被场景渲染效果

      Figure 2.  Rendering Result of Vegetation Scene

      图 3是对同一三维建筑场景采用不同软件或方法的渲染效果。其中,图 3(a)~3(c)分别为Google Earth、Gaea Explorer不采用BSHRF方法和Gaea Explorer采用BSHRF方法的渲染效果。

      图  3  三维建筑场景渲染效果

      Figure 3.  Rendering Result of 3D Building Scene

      本文首先对不同软件与方法的渲染效果进行对比,见表 1。通过分析可知,采用BSHRF方法的渲染效果最好。

      表 1  渲染效果对比分析

      Table 1.  Comparative Analysis of Rendering Effect

      名称 Google Earth/ArcScene 无BSHRF BSHRF
      光照计算 只有简单的明暗计算,没有光照计算,明暗区域不真实,场景整体缺少立体感层次 缺乏充足的光照计算,明暗区域不真实,场景整体立体感不真实 基于BRDF的光照计算,明暗细节真实,整体场景立体层次清晰
      材质细节 无材质技术,仅依靠纹理展现表面细节,表面效果差,并且有很多瑕疵问题 材质细节渲染差,表面效果不真实
      基于物理BRDF的材质计算,材质表面真实生动
      后图像处理 无后期图像处理技术,场景效果极其单一,无真实感
      缺少后期图像处理计算,场景观感单调,真实感差
      使用SSAO、HDR等后期计算,场景细节丰富,真实感强

      针对图 3中的三维建筑场景,本文对Google Earth、Gaea Explorer不采用BSHRF方法和Gaea Explorer采用BSHRF方法的渲染效率进行对比,如图 4所示。通过图表分析可知,在相同的软硬件环境下,采用BSHRF方法的渲染效率总体高于Google Earth,低于不采用BSHRF方法,但是3种方法的差别不大。而且,随着需要绘制三维建筑数量的增加,3种方法的渲染效率越来越接近,基本一样。

      图  4  渲染效率对比分析

      Figure 4.  Comparative Analysis of Rendering Efficiency

      综上所述,采用本文所提出的BSHRF渲染方法能够在不明显损失渲染效率的情况下,得到更好的场景逼真度,从而能够给使用者带来更好的三维体验。

    • 为了提高3DGIS中场景的渲染逼真度,从而改变目前3DGIS画面简陋的现状,本文提出了一种新的3DGIS渲染方法,将三维计算机图形学技术中最新的渲染理论引入到3DGIS中,包括基于物理渲染的BRDF光照模型、SSAO、Deferred Shading和HDR等。其中基于物理渲染的BRDF光照模型在与Phong模型差不多计算量的条件下,提高了3DGIS中的材质效果;SSAO利用较少的计算量,提高了场景真实度的光照细节;Deferred Shading为在场景中大量使用光源而不过分耗费GPU资源打下了基础;HDR则是将图像的逼真度再次提升一个层次。

参考文献 (22)

目录

    /

    返回文章
    返回