CN104143207A - 基于流计算的大范围动态海浪实时渲染方法 - Google Patents
基于流计算的大范围动态海浪实时渲染方法 Download PDFInfo
- Publication number
- CN104143207A CN104143207A CN201310171982.6A CN201310171982A CN104143207A CN 104143207 A CN104143207 A CN 104143207A CN 201310171982 A CN201310171982 A CN 201310171982A CN 104143207 A CN104143207 A CN 104143207A
- Authority
- CN
- China
- Prior art keywords
- wave
- sea level
- foam
- model
- concentric circles
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种在流处理器上实现大范围动态海浪高效实时渲染的方法。包括基于LOD(LevelofDetail)技术的新型网格模型,基于Gerstner模型实现海浪的动态模拟,一种凹凸纹理贴图的方法对较远处的海浪渲染实现加速,并利用动画凹凸纹理改善海浪渲染效果。本发明的新颖之处在于通过立方体纹理实现了对天空、太阳的反射效果,运用Phong光照模型实现了海浪的光照并实现了菲涅尔反射;采用动画纹理模拟了海浪中的泡沫,并实现了云在海面上投射的阴影等特殊效果。本方法可以在具有流处理器的计算机平台上对百公里级范围的海浪进行实时交互渲染,具有速度快,仿真度高,平台兼容性好的优点。
Description
技术领域
本发明与计算机图形学有关,随着GPU技术的快速进步,使得GPU的性能和可编程能力得到大幅度提升,为图形学的发展提供了重要的硬件平台,本发明涉及一种基于流计算平台GPU的大范围动态自然场景—海浪的实时渲染方法。
背景技术
地球表面约70%的区域被海洋所覆盖,相比较其它自然景物的仿真,海浪场景的绘制在飞行仿真、水面舰船仿真应用中显得更为重要. 针对海浪渲染的研究,所用的方法归结起来可以分为两大类:基于物理模型的方法和基于构造的方法,基于物理模型的方法一般是从Navier-Stokes方程组着手,试图通过求解该方程组来实现对海浪的模拟;基于构造的方法通过构造网格或基于粒子的方式,对海浪进行模拟。基于物理模型的方法更适合于流体倾倒、喷泉等小范围、小规模的场景,或是用于电影、动画等不要求实时性的场合,由于Navier-Stokes方程组的求解极为复杂,即便现代GPU的计算性能已达到TFLOPS量级,仍然无法通过这类方法交互实时地实现大范围动态海浪的渲染. 在实时交互性应用中,在先方法 [1] (参见Fournier A, Reeves W T. A simple model of coean waves. ACM SIGGRAPH Computer Graphics, 1986, 20(4): 75-84; Peachey D R. Modeling waves and surf. ACM SIGGRAPH Computer Graphics, 1986, 20(4): 65-74)基于几何模型的方法是常用的构造方法,通过采用函数曲线等来模拟海浪的几何形状,该方法波形容易控制,速度较快,其不足之处在于波形过于规则,真实感差,已经难以满足目前对海浪模拟真实性的要求. 在先方法 [2] (参见Fréchot J. Realistic simulation of ocean surface using wave spectra. Proceedings of the First International Conference on Computer Graphics Theory and Applications, Setúbal: GRAPP, 2006: 76-83; Tessondorf J. Simulating ocean water. Computer Graphics Proceedings, Annual Conference Series, Los Angeles: ACM SIGGRAPH, 2001, 1-18; 任鸿翔, 尹勇, 金一丞. 大规模海浪场景的真实感绘制. 计算机辅助设计与图形学学报, 2008, 20(12): 1617-1622)基于统计和谱的方法依据海洋统计和海洋观测的经验模型,采用多个正弦曲线或快速傅立叶变换合成符合海浪谱分布的海浪。这类方法在现代GPU上也很容易实现,从而为实现实时交互提供了可能。
发明内容
现代流计算技术为基于GPU的海浪仿真提供了良好的平台和巨大的灵活性。本发明建立一种新的统计和谱的方法,利用GPU实现大范围复杂场景下动态海浪的实时渲染,解决大范围动态海浪实时渲染方法的难题.
本发明的大范围动态海浪实时渲染方法首先利用一种新的基于 技术的网格模型来模拟海平面,在高等级上采用基于GPU的Gerstner模型直接计算海浪的高度并计算其法向量,在低等级的上计算海浪的凹凸纹理图;最后模拟海面的光照及一些特殊效果,包括细碎海浪的模拟、海面对天空与太阳的反射效果、泡沫以及云层在海面上的阴影等.
本发明的基本原理
一、一种新的基于LOD同心圆网格模型,该模型借鉴射线同心圆网格模型和动态、静态网格模型,在视点附近,采用两级细分圆形网格构成两级LOD,网格中顶点的间距由模拟的海况确定,两级LOD以外的网格部分,采用同心圆网格, 各同心圆半径和第i个同心圆上第j个网格顶点的坐标的计算公式由公式(1)和(2)计算
(1)
(2)
式中,为第i个同心圆的半径,为海平面的可见距离.
二、一种逐顶点计算与凹凸纹理贴图相结合的方法模拟海浪,在细分圆形网格上采用逐顶点计算,在同心圆网格上采用凹凸纹理贴图法. 设时刻平面上一点,海浪的运动方程,三维空间中坐标及其副法线、切线和法线分别由公式(3)~(7)计算
(3)
(4)
(5)
(6)
(7)
式中,为第个波的波向量,为振幅,为频率,为相位.
三、结合Fresnel反射与天空反射的海面光照计算, 海平面对光线具有反射和折射两种作用,海平面的颜色主要是这两作用的结果,对天空的反射通过环境立方体纹理的方式实现,对海平面以上的景物可以采用平面反射法实现,将海平面以上的景物渲染成纹理,在GPU中求取纹理投影坐标,从而实现反射效果,Fresnel反射是海平面光照计算的重要组成部分,海平面光照的反射率和折射率满足,反射率由公式(8)计算
(8)
折射主要是对海平面以下的景物进行的,其实现方法与实现反射的方法类似.
四、海泡沫与云的阴影计算,Choppy波导致了海平面产生泡沫,泡沫主要出现在波峰附近,对泡沫的模拟可以增加模拟的真实感,本发明采用动画泡沫纹理对其方法进行了改进,并可以交互实现泡沫的产生和消失,天空中的物体在太阳的照射下会在海平面投下阴影,本发明通过阴影算法得到一张阴影纹理,对天空中的云生成的阴影进行模拟.
本发明的技术效果:
本发明与在先技术[1]的不同之处在于,本发明可以对海浪进行非规则化处理,具有更好的真实感. 与在先技术[2]的不同之处在于,本发明建立了一种新的基于LOD同心圆网格模型,这种模型在视点附近采用两级细分圆形网格,为海浪的渲染提供了必要的细节,渲染结果真实感好. 此外,这种模型在以视点为中心的各个方向上,构成网格的顶点数基本一致,保证了渲染帧数的稳定.
附图说明:
图1为本发明给出的海平面同心圆网格模型,其中,图1a为静态网格模型,图1b为动态网格模型。
图2为本发明给出的增加了凹凸纹理的Gerstner 模型渲染结果
图3为本发明给出的增加了光照效果的海平面渲染结果
图4为本发明给出的增加了Fresnel反射的海平面渲染结果
图5为本发明给出的增加了泡沫的海平面渲染结果
图6为本发明给出的增加了云阴影的海平面渲染结果
图7为本发明给出的大范围动态海浪渲染仿真实例
具体实施方式:
本实施方式结合图1-7对本发明进行具体介绍:
(1) 首先建立一种新的基于LOD的网格模型. 该模型借鉴射线同心圆网格模型和动态、静态网格模型,在视点附近,采用两级细分圆形网格构成两级LOD,网格中顶点的间距由模拟的海况确定,两级LOD以外的网格部分,采用同心圆网格,如图1所示.
(2) 在Gerstner模型基础上添加动画凹凸纹理. Gerstner模型采用有限数量的正弦波对海浪进行模拟,其渲染效果与基于FFT的方法相比缺少足够的细节。本发明通过离线渲染的方式得到动画凹凸纹理,为Gerstner模型增加渲染细节,使得渲染的真实感得到了大幅度提高,如图2所示.
(3) 增加光照映射,海平面的颜色主要是反射和折射这两作用的结果,海平面反射的主要是天空和海平面以上的景物,天空包括云、太阳等,景物主要由地形及建筑物等,对天空的反射可以通过环境立方体纹理的方式实现,对海平面以上的景物可以采用平面反射法实现,将海平面以上的景物渲染成纹理,在GPU中求取纹理投影坐标,从而实现反射效果。采用Phong模型对太阳等光源的光照进行模拟,如图3所示.
(4) 增加Fresnel反射. Fresnel反射是海平面光照计算的重要组成部分,海平面光照的反射率和折射率满足, 反射率计算可根据公式(9)
(9)
Fresnel反射可以与天空反射结合在一起考虑,渲染效果如图4所示.
(5) 采用动画泡沫纹理来增加泡沫, 这种方法可以交互实现泡沫的产生和消失,渲染效果如图5所示.
(6) 增加云的阴影。天空中的物体在太阳的照射下会在海平面投下阴影,对阴影效果的模拟同样有助于提高渲染效果的真实感,本发明对天空中的云生成的阴影进行了模拟,云的阴影生成可通过阴影算法得到一张阴影纹理,渲染效果如图6所示.
(7) 用本发明的方法成功地实现了大范围动态海浪的渲染, 在上述实验用PC上,包括全球数据库、多种三维实体及多种特殊效果等的复杂场景下,在1400×1050的较高分辨率下稳定的运行在60帧/s交互帧率下,渲染效果如图7所示。
Claims (5)
1.一种在流处理器上实现大范围动态海浪高效实时渲染的方法,其特征在于所述方法为:
一种新的基于LOD同心圆网格模型,该模型借鉴射线同心圆网格模型和动态、静态网格模型,在视点附近,采用两级细分圆形网格构成两级LOD,网格中顶点的间距由模拟的海况确定,两级LOD以外的网格部分,采用同心圆网格。
2.各同心圆半径和第i个同心圆上第j个网格顶点的坐标 的计算公式由公式(1)和(2)计算
(1)
(2)
式中,为第i个同心圆的半径,为海平面的可见距离。
3.一种逐顶点计算与凹凸纹理贴图相结合的方法模拟海浪,在细分圆形网格上采用逐顶点计算,在同心圆网格上采用凹凸纹理贴图法,设时刻平面上一点,海浪的运动方程,三维空间中坐标及其副法线、切线和法线分别由公式(3)~(7)计算
(3)
(4)
(5)
(6)
(7)
式中,为第个波的波向量,为振幅,为频率,为相位。
4.结合Fresnel反射与天空反射的海面光照计算,海平面对光线具有反射和折射两种作用,海平面的颜色主要是这两作用的结果,对天空的反射通过环境立方体纹理的方式实现,对海平面以上的景物可以采用平面反射法实现,将海平面以上的景物渲染成纹理,在GPU中求取纹理投影坐标,从而实现反射效果,Fresnel反射是海平面光照计算的重要组成部分,海平面光照的反射率和折射率满足,反射率由公式(8)计算
(8)
折射主要是对海平面以下的景物进行的,其实现方法与实现反射的方法类似。
5. 海泡沫与云的阴影计算,Choppy波导致了海平面产生泡沫,泡沫主要出现在波峰附近,对泡沫的模拟可以增加模拟的真实感,本发明采用动画泡沫纹理对其方法进行了改进,并可以交互实现泡沫的产生和消失,天空中的物体在太阳的照射下会在海平面投下阴影,本发明通过阴影算法得到一张阴影纹理,对天空中的云生成的阴影进行模拟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310171982.6A CN104143207A (zh) | 2013-05-12 | 2013-05-12 | 基于流计算的大范围动态海浪实时渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310171982.6A CN104143207A (zh) | 2013-05-12 | 2013-05-12 | 基于流计算的大范围动态海浪实时渲染方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104143207A true CN104143207A (zh) | 2014-11-12 |
Family
ID=51852375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310171982.6A Pending CN104143207A (zh) | 2013-05-12 | 2013-05-12 | 基于流计算的大范围动态海浪实时渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104143207A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279782A (zh) * | 2015-07-02 | 2016-01-27 | 苏州蜗牛数字科技股份有限公司 | 实时海洋系统的模拟和渲染方法 |
CN105894560A (zh) * | 2016-03-30 | 2016-08-24 | 腾讯科技(深圳)有限公司 | 一种图像处理的方法、用户设备及系统 |
CN106780702A (zh) * | 2016-12-23 | 2017-05-31 | 成都通甲优博科技有限责任公司 | 一种基于物理着色的方法及系统 |
CN108182721A (zh) * | 2017-12-06 | 2018-06-19 | 北京像素软件科技股份有限公司 | 扰动流体渲染方法及装置 |
CN108416831A (zh) * | 2018-03-14 | 2018-08-17 | 苏州蜗牛数字科技股份有限公司 | 一种实时模拟水花和泡沫的方法 |
CN111415400A (zh) * | 2020-03-25 | 2020-07-14 | 网易(杭州)网络有限公司 | 一种模型渲染的方法及装置、电子设备、存储介质 |
CN111429558A (zh) * | 2020-03-02 | 2020-07-17 | 武汉大学 | 实时模拟动态水体缩略模型的方法及系统 |
-
2013
- 2013-05-12 CN CN201310171982.6A patent/CN104143207A/zh active Pending
Non-Patent Citations (5)
Title |
---|
JERRY TESSENDORF: "Simulating Ocean Water", 《COMPUTER GRAPHICS PROCEEDINGS》 * |
JOCELYN FRECHOT: "Realistic simulation of ocean surface using wave spectra", 《PROCEEDINGS OF THE FIRST INTERNATIONAL CONFERENCE ON COMPUTER GRAPHICS THEORY AND APPLICATIONS》 * |
NAMKYUNG LEE 等: "A Real-Time Method for Ocean Surface Simulation using the TMA Model", 《INTERNATIONAL JOURNAL OF COMPUTER INFORMATION SYSTEMS AND INDUSTRIAL MANAGEMENT APPLICATIONS》 * |
任鸿翔 等: "大规模海浪场景的真实感绘制", 《计算机辅助设计与图形学学报》 * |
王纲 等: "大范围动态海浪实时渲染", 《哈尔滨工业大学学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279782A (zh) * | 2015-07-02 | 2016-01-27 | 苏州蜗牛数字科技股份有限公司 | 实时海洋系统的模拟和渲染方法 |
CN105279782B (zh) * | 2015-07-02 | 2018-12-07 | 苏州蜗牛数字科技股份有限公司 | 实时海洋系统的模拟和渲染方法 |
CN105894560A (zh) * | 2016-03-30 | 2016-08-24 | 腾讯科技(深圳)有限公司 | 一种图像处理的方法、用户设备及系统 |
CN105894560B (zh) * | 2016-03-30 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 一种图像处理的方法、用户设备及系统 |
CN106780702A (zh) * | 2016-12-23 | 2017-05-31 | 成都通甲优博科技有限责任公司 | 一种基于物理着色的方法及系统 |
CN106780702B (zh) * | 2016-12-23 | 2021-02-26 | 成都通甲优博科技有限责任公司 | 一种基于物理着色的方法及系统 |
CN108182721A (zh) * | 2017-12-06 | 2018-06-19 | 北京像素软件科技股份有限公司 | 扰动流体渲染方法及装置 |
CN108416831A (zh) * | 2018-03-14 | 2018-08-17 | 苏州蜗牛数字科技股份有限公司 | 一种实时模拟水花和泡沫的方法 |
CN111429558A (zh) * | 2020-03-02 | 2020-07-17 | 武汉大学 | 实时模拟动态水体缩略模型的方法及系统 |
CN111415400A (zh) * | 2020-03-25 | 2020-07-14 | 网易(杭州)网络有限公司 | 一种模型渲染的方法及装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104143207A (zh) | 基于流计算的大范围动态海浪实时渲染方法 | |
CN102855400B (zh) | 一种基于投影网格的海洋表面建模及实时光照方法 | |
CN101706967B (zh) | 一种真实感云层的综合模拟方法 | |
CN101930622B (zh) | 浅水水波的真实感建模与绘制 | |
Wang | Realistic and fast cloud rendering | |
CN102663827A (zh) | 复杂淹没区域风暴潮洪水演进三维动态全过程仿真方法 | |
CN102402792B (zh) | 一种实时浅水模拟方法 | |
US9582929B2 (en) | Dynamic skydome system | |
CN109364481A (zh) | 游戏内的实时全局光照方法、装置、介质及电子设备 | |
CN104143205A (zh) | 大规模真实感体积云的实时渲染方法 | |
CN106342298B (zh) | 一种多点爆炸效果的实时生成方法 | |
Mukhina et al. | The method for real-time cloud rendering | |
Yang et al. | Study on the virtual natural landscape walkthrough by using Unity 3D | |
CN110232846A (zh) | 一种冲锋舟模拟驾驶方法、系统及相关装置 | |
Ma et al. | Real-time ocean wave motion simulation based on statistic model and GPU programming | |
Guo et al. | Animating Prairies Simulation with Shell Method in Real-time. | |
KR101208826B1 (ko) | 깊이 텍스처의 등고선을 기반으로 한 실시간 다각형 앰비언트 오클루전 방법 | |
Catanese et al. | Rendering of 3d dynamic virtual environments | |
Hu et al. | Large-scale realistic cloud rendering based on game engine | |
Luo et al. | GPU-based real-time virtual reality modeling and simulation of seashore | |
Li et al. | Simulation of water surface using current consumer-level graphics hardware | |
Huang et al. | Improved random midpoint-displacement method for natural terrain simulation | |
Tian | Ocean wave simulation by the mix of FFT and Perlin Noise | |
Si et al. | Real-time simulation of large bodies of ocean surface based on tessellation and concurrent kernels | |
Zhang et al. | Realistic real-time rendering for ocean waves on GPU |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141112 |