大尺度液体的交互式模拟与真实感绘制研究与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着计算机图形技术的不断发展,人们已经能够使用计算机实现“照片级”真实的虚拟环境。为了进一步提升虚拟环境的沉浸感,环境的可交互性成为现阶段的研究热点。随着物理模拟的大量引入,环境的可交互性得到了质的提升。然而物理计算的巨大运算量和虚拟环境的实时性要求又成了一对难以调和的矛盾,再加上大规模场景的广泛存在又加剧了这一矛盾。在流体模拟中,这种矛盾显得尤为突出。本文的目的是模拟范围极大的流体,例如湖泊、海洋等自然景观,并在真实感与效率之间找到一个平衡点,以满足游戏等实时的虚拟环境的需求。大尺度流体模拟是当前图形学的重要研究领域。本文展示流体模拟的几种主要模型,包括几何模型、物理模型、统计模型、柏林噪声等。讨论并实现了波浪模拟、大尺度的实现、双向流固耦合以及光照渲染。
     本文对这一课题的研究主要在以下三个方面:
     第一,流体表面自由波浪的模拟。使用柏林噪声来控制高度域上各点的位置,该方法连续变化的特点可以构造出平滑的波浪。最终实验证明该方法计算量较小,能满足实时条件,波浪非常接近风浪较小时的海面。
     第二,无限尺度与流固双向耦合的实现。使用投影的思想使波浪存在的矩形范围扩大到观察者的视野范围,并伴随观察者运动,从而营造出无边无际的假象。通过求解二维波方程来模拟流体的碰撞反映,并使用滑动叠加的方法来与投影状态下的自由波浪叠加;固体方面则采用把体积离散有限个顶点的方法来计算固体漂浮运动效果。实验中,通过把任意形状固体的体积离散到它的包围盒的顶点,大大简化了计算,同时也保证了良好的效果。
     第三,真实感绘制。使用GPU实现了水面的反射现象。水面的反射可以分为对环境的反射和对光源的反射。基于Phong光照模型的光源反射则能很好的表现阳光照射下的波光粼粼的效果。实验中为了满足各种软硬件环境的通用性采用了CPU来模拟流体运动以及流固耦合。为了保证效率不增加CPU的负担,使用GPU来处理渲染,试验结果显示渲染效果真实感强,并有效的降低了CPU占用率,提高了效率。
     最后,本文对实验中出现的问题和不足进行了分析,并提出了改进和完善的方向。
Along with the constant development of computer graphic, people are able to realize“photorealistic”virtual environment with computer. In order to further enhance the immersion, the interactivity becomes current focus of study. Physical simulation had fundamentally changed the interactivity of environment, but the huge computation of physical simulation and the real-time requirement become contradictory, and the large scale scenes have intensified it. The contradictory is very significant in fluid simulating. This paper focuses on simulating large scale liquid, like lake, ocean, and seeking the equilibrium point of reality and efficiency.
     Large scale liquid simulation is a very important study field of modern graphics. This paper demonstrates several kinds of major model, including geometric model, physical model, spectrum analyze and Perlin noise. Wave simulation, large scale achieve, two ways coupled liquid solid interaction and rendering.
     This paper is mainly about the following three aspects of the study:
     Free wave simulation on the liquid surface. Perlin noise is used to control every height field point’s position. The continuous variation of Perlin noise is able to create smooth waves. Experience results that the computation of this method is low enough to meet the real-time requirement, and waves are really like ocean waves without strong wind.
     Infinite scale and liquid solid interaction. Using the spirit of projection, the rectangle area of waves is extended to cover the observer’s field of vision. This will create an illusion of infinite scale. The collision reflection of liquid is simulated by solving two-dimension wave equation, and overlaid with free wave surface slidably. The computation of rigid body’s buoyancy is based on discrete volume. Experience results that, separating volume of any shaped rigid body to its bounding box’s vertexes is able to simplify computation and ensure the reality.
     Rendering. Realize reflection of surface with GPU. Reflection can be divided into environmental reflection and light source reflection. Cube mapping can be used to simulate reflection of sky, and Phong model is able display sparkling surface. The movement and liquid solid interaction is computed by CPU in order to meet different requirement of various kinds of software and hardware environment. All the render works are computed by GPU. The experience results reality scene and low CPU cost.
     Finally, this paper analysis problems and deficiencies, and advance the direction of improvement.
引文
[1] Alain Fournier, William T. Reeves. A simple model of ocean waves. 1986, ACM SIGGRAPH Computer Graphics, v.20 n.4:75-84
    [2] Jos Stam. A simple fluid solver based on the FFT. 2001, Journal of Graphics Tools, v.6 n.2:43-52
    [3] J. TESSENDORF. Simulating ocean water. In Simulating Nature: Realistic and Interactive Techniques. 2001, SIGGRAPH Course Notes 47
    [4]贾俊涛,翟京生,孟婵媛等.使用2D FFT优化计算海浪波高模型. 2004年7月,海洋测绘,第24卷,第4期: 26-28
    [5]邱捷,陈雷霆.基于物理模型的实时海面模拟. 2006年,计算机与数学工程,第34卷,第1期: 4-7
    [6] Frank Losasso, Jerry Talton, etal.. Two-Way Coupled SPH and Particle Level Set Fluid Simulation. July 2008, IEEE Transactions on Visualization and Computer Graphics, v.14 n.4:797-804
    [7] CARLSON M., MUCHA P.J., TURK G. Rigid fluid: Animating the interplay between rigidbodies and fluid. Aug, 2004, ACM Transactions on Graphics23, 3: 377–384
    [8]任玉新,陈海昕.计算流体力学基础.北京:清华大学出版社,2006, 1-2
    [9]柳有权.基于物理的计算机动画及其加速技术的研究:[博士学位论文]北京:中国科学院软件研究所, 2005
    [10] Thürey, N., Müller-Fischer, M., Schirm, S., etal.. Real-time breaking waves for shallow water simulations. 2007, 15th Pacific Conference on Computer Graphics and Applications (PG’07) 0: 39–46
    [11] Simon Premoe, Michael Ashikhmin. Rendering Natural Waters, October 03-05, 2000, Proceedings of the 8th Pacific Conference on Computer Graphics and Applications: 23
    [12] Ned Greene. Environment mapping and other applications of world projections. November 1986, IEEE Computer Graphics and Applications, v.6 n.11:21-29.
    [13] Zsolt Mátyás. WATER SURFACE RENDERING USING SHADER TECHNOLOGIES.[Master degree thesis]. Budapest: Budapest University of Technology and Economics.2006
    [14]王道臣,万旺根,唐经洲等.基于GPU的水面实时渲染算法. 2008年,计算机工程, 34卷, 20期:233-234
    [15]顾艳.水波的模拟和动画: [硕士学位论文].杭州:浙江大学, 2002
    [16]王胜正.一种实时的3D动态海洋模拟新方法. 2007,计算机应用, 27(5):1147-1149
    [17]刘洋.虚拟海洋实时仿真技术研究:[硕士学位论文].秦皇岛:燕山大学, 2007
    [18] Jos Stam. Random caustics: Natural textures and wave theory revisited. 1996, In ACM SIGGRAPH Visual Proceedings:151.
    [19] Shah, M., and Pattanaik, S. Caustics mapping: An image-space technique for real-time caustics. 2005, Technical Report, School of Engineering and Computer Science, University of Central Florida, CS TR 50-07
    [20] Jensen, L. S., and Goliá?, R. Deep-water animation and rendering. 2001, http://www.gamasutra.com/gdce/2001/jensen/jensen_01.htm
    [21]李苏军,杨冰,吴玲达.海浪建模与绘制技术综述. 2008年,计算机应用研究, 25卷, 03期:666-669
    [22]柳有权,刘学慧,朱红斌等.基于物理的流体模拟动画综述. 2005,计算机辅助设计与图形学学报, 17(12):2581-2589
    [23] James F. Blinn. Simulation of wrinkled surfaces. August 23-25, 1978, Proceedings of the 5th annual conference on Computer graphics and interactive techniques:286-292.
    [24] Damien Hinsinger, Fabrice Neyret, Marie-Paule Cani. Interactive animation of ocean waves. 2002, Proceedings of the 2002 ACM SIGGRAPH/Eurographics symposium on Computer animation.
    [25] LucyL.B. A numerical approach to the testing of the fission hypothesis. 1977, AJ, 82, 1013.
    [26] Jos Stam, Eugene Fiume, Depicting fire and other gaseous phenomena using diffusion processes, September 1995, Proceedings of the 22nd annual conference on Computer graphics and interactive techniques:129-136
    [27] Matthias Müller, David Charypar, Markus Gross. Particle-based fluid simulation for interactive applications, July 26-27, 2003, Proceedings of the 2003 ACM SIGGRAPH/Eurographics symposium on Computer animation
    [28]童亮.基于潜水方程模型和粒子模型的水动画模拟:[硕士学位论文].合肥:安徽大学, 2006
    [29] Q Chen, J Deng, F Chen. Water Animation With Disturbance Model. 2001, Computer Graphics International 2001
    [30] TESSENDORF, J.. Simulating ocean water. In Simulating Nature: Realistic and Interactive Techniques. 2001, SIGGRAPH 2001 Course Notes 47
    [31]皮学贤,杨旭东,李思昆.近岸水域的波浪与水面仿真. 2007,计算机学报, 30(2):324-329.
    [32] PERLIN K. An image synthesizer. 1985, Proc of SIGGRAPH’85. San Francisco: [ s. n. ]:287- 296
    [33] GUSTAVSONS. Simplex noise demystified. http://www.itn.liu.se/?stegu/simplexnoise/. , March, 2005, [Har01] H ART J. C.:Perlin noise pixel shaders In Graphic
    [34]庞明勇.基于离散模型的二维水波实时动态模拟方法. 2007年,水利学报, 38卷11期:1358-1363
    [35] Changbo Wang, Zhangye Wang. Real-Time Simulation of Ocean Wave Based on Cellular Automata. 2003, CAD/Graphics'2003[C]
    [36] Fagerlund, Mattias. Buoyancy Particles or Bobbies. http://www. cambrianlabs .com/Mattias/DelphiODE/BuoyancyParticles.asp
    [37] David M. Bourg. Physics for Game Developers. O'Reilly,2004
    [38] H. Cords and O. Staadt. Real-Time Open Water Environments with Interacting Objects. 2009, Eurographics Workshop on Natural Phenomena
    [39]吴晶,徐晓刚,王建国等.大规模海面的快速漫游. 2006年,系统仿真学报, 18(9): 2505-2507
    [40] Johanson, C. Real-time water rendering– introducing the projected grid concept. Dissertation, Lund University, 2004
    [41] J. M. Hjelmervik and T. R. Hagen. GPU-based screen space tessellation. In M. D?hlen, K. M?rken, and L. L. Schumaker, editors, Mathematical Methods for Curves and Surfaces: Troms? 2004, pages 213–221. Nashboro Press, 2005
    [42]周明,徐晓刚,朱涛.大规模海战场环境实时仿真. 2006年,兵工学报, 27(3):558-561
    [43] Y F Chiu and C F Chang. GPU - based Ocean Rendering. 2006, In Proceedings of the 2006ICME.
    [44]肖鹏,刘更代,徐明亮.三维渲染引擎编程指南,北京:清华大学出版社, 2010年1月
    [45] Jens Schneider , Rüdiger Westermann. Towards Real-Time Visual Simulation of Water Surfaces. November 21-23, 2001, Proceedings of the Vision Modeling and Visualization Conference 2001:211-218
    [46] Chris Wynn. OpenGL Render-to-Texture. 2002, GDC2002 presentation
    [47]李蓓蓓,赵志宏.一种海水仿真的改进模型. 2008年,上海第二工业大学学报. 2期.
    [48]吴磊,陈雷霆,何明耘.交互式实时水面渲染. 2008年8月,计算机应用研究, 25卷8期:2387-2389
    [49]王磊,丁友东,张王君等.基于Perlin噪声绘制水面的方法. 2005年,计算机研究与发展, 42(增刊):207-210
    [50] Shah, M., and Pattanaik, S. Caustics mapping: An image-space technique for real-time caustics. 2005, Technical Report, School of Engineering and Computer Science, University of Central Florida, CS TR 50-07

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700