地球信息科学理论与方法

基于GPU的HASM动态模拟与实时渲染方法

展开
  • 1. 中国科学院地理科学与资源研究所, 资源与环境信息系统国家重点实验室, 北京 100101;
    2. 山东科技大学信息工程系, 泰安 271019
闫长青(1978-),男,博士研究生,讲师,主要研究方向为资源环境模型与系统模拟。Email:yancq@lreis.ac.cn

收稿日期: 2012-04-24

  修回日期: 2012-04-24

  网络出版日期: 2012-04-24

基金资助

国家杰出青年科学基金项目(40825003);国家高技术研究发展计划"863计划"项目(2011AA120306);国家自然科学基金项目(41023010)。

A Novel Method for Dynamic Modelling and Real-time Rendering Based on GPU

Expand
  • 1. State Key Laboratory of Resources and Environment Information System, Institute of Geographic Sciences and Natural Resources Research, CAS, Beijing 100101 China;
    2. Department of Information Engineering, Shandong University of Science and Technology, Taian 271019, China

Received date: 2012-04-24

  Revised date: 2012-04-24

  Online published: 2012-04-24

摘要

基于微分几何曲面论的高精度曲面模拟(high accuracy surface modeling, HASM)需要大量的复杂密集计算,在CPU上模拟极为耗时,使得在现有的硬件条件下,实时动态模拟曲面并实时可视化极具挑战性。论文提出了GPU加速的HASM方法,充分利用现代显示适配器(graphic processor unit, GPU)技术,运用GPU最新发展起来的并行计算能力,使用并行化的预处理共轭梯度方法解算曲面,完成曲面模拟,并同时利用GPU的高速缓存架构,对渲染操作进行充分优化,以实现高效实时可视化。HASM需要的有限差分离散和高速解算操作,均充分利用现代GPU架构,所具有的多处理器和众多的流处理器所产生的强大并行计算能力,可视化也用GPU高速缓存技术和三角条带方法进行充分优化。数值实验和实际项目区高程模拟实验均表明, 在GPU为NVIDIA quadro 2000和CPU为DualCore Intel Core 2 Duo E8400的硬件配置下,GPU并行化的曲面模拟方法比普通方法速度提高了约10倍,使得动态模拟与可视化算法可以达到交互式的帧速及实时可视化的要求。

本文引用格式

闫长青 , 岳天祥 . 基于GPU的HASM动态模拟与实时渲染方法[J]. 地球信息科学学报, 2012 , 14(2) : 149 -157 . DOI: 10.3724/SP.J.1047.2012.00149

Abstract

High accuracy surface modeling (HASM) is a method for building surface with high accuracy in terms of sampled points, which is based on the fundamental theorem of surfaces and gives a solution to error problem in geographic information system (GIS). Previous studies show this method can model surface with much higher accuracy than other classical methods widely used in GIS, while its speed is limited because of its huge computational cost. In order to accelerate its computational speed, a novel parallel and interactive method of HASM for real-time rendering on GPU using compute unified development architecture (CUDA) is presented, which allows for efficient and high quality visualization. The computational task of HASM is parallelized and run simultaneously on many cores of modern GPUs which have multiprocessors and many stream processors, which can improve the performance significantly. Coupled with an efficient rendering method, dynamic surface simulation and real-time rendering is done concurrently on GPU. Preconditioned conjugate gradients methods are used to solve the huge linear systems arising from HASM. Fully harnessing the processing power of modern GPUs with a highly parallel architecture and multiprocessors and many stream processors, we can simulate the surface dynamically and post it to rendering pipeline simultaneously. Making use of state-of-the-art GPU techniques such as vertex buffer object, texture buffer, the rendering can be carried out with a very high efficiency. A few experiments were carried out including some digital elevation model constructions and the tests results showed that our method can construct surface dynamically and visualize it at very high frame rates.

参考文献

[1] Yue T X. Surface modeling: High accuracy and high speed methods[M]. Boca Raton,FL: CRC Press, 2011.
[2] Toponogov V A. Differential geometry of curves and surfaces: a concise guide[M].New York: Birkhauser, 2006.
[3] Stone J E, Hardy D J, et al. GPU-accelerated molecular modeling coming of age[J]. Journal of Molecular Graphics and Modelling, 2010, 29(2): 116-125.
[4] Goswami P, Schlegel P, et al. Interactive SPH simulation and rendering on the GPU.// Proceedings of the 2010 ACM SIGGRAPH/Eurographics symposium on Computer animation, 2010, In SCA '10: Eurographics Association.
[5] Kalyanapu A J, Shankar S, et al. Assessment of GPU computational enhancement to a 2D flood model[J]. Environmental Modelling & Software, 2011, 26(8): 1009-1016.
[6] Hawick K A and Playne D P. Numerical simulation of the complex Ginzburg-Landau equation on GPUs with CUDA.// IASTED International Conference on Parallel and Distributed Computing and Networks (PDCN), Innsbruck, Austria: ACTA Press,2011.
[7] Helfenstein R and Koko J. Parallel preconditioned conjugate gradient algorithm on GPU[J]. Journal of Computational and Applied Mathematics, In Press, Corrected Proof, 2011.
[8] Lee H and Han S. Solving the shallow water equations using 2D SPH particles for interactive applications[J]. The Visual Computer, 2010, 26(6): 865-872.
[9] Ji X, Cheng T and Wang Q. CUDA-based solver for large-scale groundwater flow simulation[J]. Engineering with Computers, 2011, 28(1): 13-19.
[10] Manavski S A. CUDA compatible GPU as an efficient hardware accelerator for AES cryptography.// IEEE Signal Processing and Communications(ICSPC), Dubai: IEEE. 2007.
[11] Jung Y, Graf H, et al. Mesh deformations in X3D via CUDA with freeform deformation lattices[M].// Virtual and Mixed Reality-Systems and Applications, R. Shumaker, Editor Springer Berlin / Heidelberg. 2011, 343-351.
[12] Wei W and Huang Y. Real-time flame rendering with GPU and CUDA[J]. International Journal of Information Technology and Computer Science, 2011, 3(1): 40-46.
[13] Nilsson M. Constraint fluids on GPU (2009). Available from: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.160.2134&rep=rep1&type=pdf.
[14] Singh B, Pardyjak E R, et al. Accelerating urban fast response Lagrangian dispersion simulations using inexpensive graphics processor parallelism[J]. Environmental Modelling & Software, 2011, 26(6): 739-750.
[15] Neal J C, Fewtrell T J, et al. A comparison of three parallelisation methods for 2D flood inundation models[J]. Environmental Modelling & Software, 2010, 25(4): 398-411.
[16] Kalivarapu V and Winer E. A multi-fidelity software framework for interactive modeling of advective and diffusive contaminant transport in groundwater[J]. Environmental Modelling & Software, 2008, 23(12): 1370-1383.
[17] 刘二永, 汪云甲.基于CUDA的IDW并行算法及其实验分析[J]. 地球信息科学学报, 2011,13(5): 707-710.
[18] 王强,檀结庆,胡敏.基于有理样条的图像缩放算法[J].计算机辅助设计与图形学学,2007,19(10):1348-1351.
[19] 桂叶晨, 冯前进, 刘磊, 陈武凡,基于CUDA的双三次B样条缩放方法[J]. 计算机工程与应用,2009,(01): 183-185,194.
[20] NVIDIA. NVIDIA CUDA C Programming Guide[M].Santa Clara, CA,USA: NVIDIA Corporation, v4 ed 2011.
[21] Kirk D B and Hwu W W. Programming massively parallel processors: A Hands-on approach[M]. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 2010.
[22] NVIDIA. CUBLAS Library[M].Santa Clara, California,USA: NVIDIA Corporation, 2011.
[23] NVIDIA. CUSPARSE Library[M]. Santa Clara, California,USA: NVIDIA Corporation, 2011.
[24] Yue T X, Du Z P, et al. A new method of surface modeling and its application to DEM construction[J]. Geomorphology, 2007, 91(1-2): 161-172.
[25] Quarteroni A, Sacco R and Saleri F. Numerical mathematics[M]. New York: Springer, 2000.
[26] Yue T X, Song D J, et al. High-accuracy surface modelling and its application to DEM generation[J]. International Journal of Remote Sensing, 2010, 31(8): 2205-2226.
[27] Shreiner D. OpenGL programming guide: the official guide to learning OpenGL, versions 3.0 and 3.1[M]. Boston, MA, USA: Addison-Wesley Professional, 2009.
[28] Sanders J and Kandrot E. CUDA by example: an introduction to general-purpose GPU programming[M]. Ann Arbor, Michigan: Addison-Wesley Professional, 2010.
文章导航

/