CN104778737A - 基于gpu的大规模落叶实时渲染方法 - Google Patents
基于gpu的大规模落叶实时渲染方法 Download PDFInfo
- Publication number
- CN104778737A CN104778737A CN201510128634.XA CN201510128634A CN104778737A CN 104778737 A CN104778737 A CN 104778737A CN 201510128634 A CN201510128634 A CN 201510128634A CN 104778737 A CN104778737 A CN 104778737A
- Authority
- CN
- China
- Prior art keywords
- gpu
- fallen leaves
- blade
- time
- real
- 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.)
- Granted
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于GPU的大规模落叶实时渲染方法,该方法首先建立落叶运动的基础运动轨迹库;通过马尔科夫链模型,得到落叶轨迹的低维特征表示;在渲染的初始化阶段,向GPU输入存储在内存中的叶片粒子的运动特征参数与形状特征参数;在实时渲染阶段,逐帧向GPU输入当前***时间与风场信息,在GPU中进行落叶运动位置的计算;在GPU中进行叶片多边形重建;最后进行渲染。本发明充分利用了GPU的并行计算优势,在GPU中使用独立线程完成对每一片叶片的运动轨迹计算,该方法在保证了渲染真实性的基础上,大大提高了落叶渲染的效率,满足了大场景植被落叶运动的实时渲染需求。
Description
技术领域
本发明属于计算机实时渲染领域,特别涉及一种基于GPU的大规模落叶实时渲染方法。
背景技术
在游戏以及其他各种3D展示应用中,往往涉及到大规模植被的渲染。在这些场景中,落叶的运动模拟无疑能够增加场景的表现力。
传统的落叶运动模拟主要包括三种思路:一是模拟场景中的涡流,通过流体动力学来实时计算涡流中叶片的位置。涡流模拟与动力学计算结合的方法可以较为精确的模拟轻小物体的运动,然而涡流的事先模拟使得我们无法应对较大的空间条件和动态变化的风力场,再者其计算亦十分耗时,不能满足实时渲染的需要。二是在渲染前预先由艺术家使用如Maya这样的动画工具设计出数条物体飘落的三维轨迹,真实渲染时,每片叶片随机挑选一条作为自身的运动轨迹模板。人工设计轨迹模板的方案拥有便于GPU实现的优势,更适合大场景计算,但场景的真实性会因为模板的单调和轨迹设计者的水平下降。三是使用数据驱动的方式,预先为每片叶片计算出复杂的运动轨迹。该方法的真实性与效率性介于前两者之间,且因为每片叶片的运动轨迹都需要很大的数据量来存储,因此无法适用于大规模植被场景(叶片数量大于10万)的落叶实时渲染。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于GPU的大规模落叶实时渲染方法。
本发明的目的是通过以下技术方案来实现的:一种基于GPU的大规模落叶实时渲染方法,该方法包括以下步骤:
(1)建立落叶基础运动轨迹库,具体为:
将落叶的轨迹分为六种基础运动模板:稳速下降(SD),周期翻转(PT),混沌变动(TC),周期振动(PF),变速螺旋(TH)以及周期螺旋(PS),通过Li(1≤i≤6,i为自然数)表示,其中L1~L6分别表示SD,PT,TC,PF,TH,PS;其中,SD使用加上轻微扰动的匀速直线运动模型;PT、TC、PF三种运动使用规律性的轨迹片段进行组合,所述轨迹片段表示如下:
其中,t表示当前时间,xt与yt表示t时刻下的轨迹片段空间坐标,x0与y0表示初始时刻下的轨迹片段空间坐标,U表示匀速下降速度,A表示震荡幅度,Ω表示简谐运动频率;提取时间内的x、y坐标作为轨迹片段;通过调整A、Ω、U的大小得到不同形态的轨迹片段,从而组合得到具有随机性的PT、TC、PF基础运动模板;
TH、PS两种运动通过公式(2)表示:
其中Ae是XOZ平面的椭圆振幅,Ee是椭圆长短轴的比值,k是椭圆震荡周期与物体旋转周期的比值,h是初始高度,Ω′是下降时的角速度,U′是下降时y方向的平均速度;
(2)通过马尔科夫链模型,得到落叶轨迹的低维特征表示:对Li(1≤i≤6)而言,运动轨迹的无序性保持递增;设定一段自由坠落轨迹M{M=m1||m2||···||mi},所述M由数段mi拼接而成,每一段mi对应某一种基础运动模板Li,M的切换概率由马尔科夫链模型计算;设定特征D={S1,S2,S3,S4,S5},其中Si={Li,Ti,Pi},Li表示当前其所属的基础运动模板,Ti表示这段轨迹在总体运动时间中所占的比例,Pi表示从该运动轨迹的哪一段开始运动;以此得到落叶轨迹的低维特征表示D;
(3)在渲染的初始化阶段,向GPU输入存储在内存中的叶片粒子的运动特征参数与形状特征参数;其中叶片粒子的运动特征参数为步骤2得到的特征D,形状特征参数包括叶片的长宽与初始法向、切向;
(4)在实时渲染阶段,逐帧向GPU输入当前***时间与风场信息,在GPU中进行落叶运动位置的计算,具体包括以下步骤:
(4.1)通过逐帧传入的当前***时间与步骤3中传入GPU的运动特征参数,得到当前粒子所属的基础运动模板Li与其在基础运动模板中的位置;
(4.2)从基础轨迹模板中,获取粒子对应的轨迹运动速度VT与角速度ΩT
(4.3)由当前***时间与叶片所处位置,从风场中得到对应的风场响应运动速度Vw;
(4.4)粒子的最终速度V=Vw+VT,最终角速度Ω=ΩT;结合当前帧与上一帧间隔时间Δt,更新叶片的空间位置和法向信息;
(5)利用叶片粒子形状特征参数和步骤4.4计算得到的叶片粒子空间位置、法向,在GPU中进行叶片多边形重建,得到叶片多边形顶点与拓扑信息;具体为:通过求解叶片平面上垂直于法向Nor和切向Tan的向量Lup,得到多边形四个顶点的空间坐标,各顶点的纹理坐标由顶点顺序自动生成,各顶点的法向与质心法向一致。
(6)通过步骤5得到的叶片多边形顶点与拓扑信息,对生成的叶片多边形进行实时渲染。
本发明的有益效果为:本发明方法充分利用了GPU的并行计算优势,在GPU中使用独立线程完成对每一片叶片的运动轨迹计算,该方法在保证了渲染真实性的基础上,大大提高了落叶渲染的效率,满足了大场景植被落叶运动的实时渲染需求。
附图说明
图1是本发明方法流程图;
图2是基础运动轨迹运动形态示意图;
图3是GPU中计算流程图;
图4是GPU中几何重建示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。
如图1所示,本发明一种基于GPU的大规模落叶实时渲染方法,包括以下步骤:
(1)建立落叶基础运动轨迹库,具体为:
将落叶的轨迹分为六种基础运动模板:稳速下降(Steady Descent/SD),周期翻转(PeriodicTumbling/PT),混沌变动(Transitional Chaotic/TC),周期振动(Periodic Fluttering/PF),变速螺旋(Transitional Helical/TH)以及周期螺旋(Periodic Spiral/PS),通过Li(1≤i≤6,i为自然数)表示,其中L1~L6分别表示SD,PT,TC,PF,TH,PS,其运动形态可以参考图2;其中,SD使用加上轻微扰动的匀速直线运动模型;PT、TC、PF三种运动使用规律性的轨迹片段进行组合,所述轨迹片段表示如下:
其中,t表示当前时间,xt与yt表示t时刻下的轨迹片段空间坐标,x0与y0表示初始时刻下的轨迹片段空间坐标,U表示匀速下降速度,A表示震荡幅度,Ω表示简谐运动频率;提取时间内的x、y坐标作为轨迹片段;通过调整A、Ω、U的大小得到不同形态的轨迹片段,从而组合得到具有随机性的PT、TC、PF基础运动模板;
TH、PS两种运动通过公式(2)表示:
其中Ae是XOZ平面的椭圆振幅,Ee是椭圆长短轴的比值,k是椭圆震荡周期与物体旋转周期的比值,h是初始高度,Ω′是下降时的角速度,U′是下降时y方向的平均速度;
(2)通过马尔科夫链模型,得到落叶轨迹的低维特征表示:对Li(1≤i≤6)而言,运动轨迹的无序性保持递增;设定一段自由坠落轨迹M{M=m1||m2||···||mi},所述M由数段mi拼接而成,每一段mi对应某一种基础运动模板Li,M的切换概率由马尔科夫链模型计算;设定特征D={S1,S2,S3,S4,S5},其中Si={Li,Ti,Pi},Li表示当前其所属的基础运动模板,Ti表示这段轨迹在总体运动时间中所占的比例,Pi表示从该运动轨迹的哪一段开始运动;以此得到落叶轨迹的低维特征表示D;
(3)在渲染的初始化阶段,向GPU输入存储在内存中的叶片粒子的运动特征参数与形状特征参数;其中叶片粒子的运动特征参数为步骤2得到的特征D,形状特征参数包括叶片的长宽与初始法向、切向;
(4)在实时渲染阶段,逐帧向GPU输入当前***时间与风场信息,在GPU中进行落叶运动位置的计算,如图3所示,具体包括以下步骤:
(4.1)通过逐帧传入的当前***时间与步骤3中传入GPU的运动特征参数,得到当前粒子所属的基础运动模板Li与其在基础运动模板中的位置;
(4.2)从基础轨迹模板中,获取粒子对应的轨迹运动速度VT与角速度ΩT
(4.3)由当前***时间与叶片所处位置,从风场中得到对应的风场响应运动速度Vw;
(4.4)粒子的最终速度V=Vw+VT,最终角速度Ω=ΩT;结合当前帧与上一帧间隔时间Δt,更新叶片的空间位置和法向信息;
(5)利用叶片粒子形状特征参数和步骤4.4计算得到的叶片粒子空间位置、法向,在GPU中进行叶片多边形重建,得到叶片多边形顶点与拓扑信息;如图4所示,具体为:通过求解叶片平面上垂直于法向Nor和切向Tan的向量Lup,得到多边形四个顶点的空间坐标,各顶点的纹理坐标由顶点顺序自动生成,各顶点的法向与质心法向一致。
(6)通过步骤5得到的叶片多边形顶点与拓扑信息,对生成的叶片多边形进行实时渲染。
用本发明方法进行的落叶场景渲染,在保证场景真实性的基础上,大大增加了渲染的效率。不但提高了应用帧率,而且大大降低了CPU的消耗。如下表所示,是本发明方法与传统方法的比较试验结果。
实验结果统计表。表格中数据格式为(FPS/CPU占用率)
粒子数目 | 1k | 10k | 50k | 100k |
传统方法 | 124/17% | 65/21% | 14/45% | 3/63% |
本文方法 | 450/13% | 350/15% | 220/15% | 164/15% |
Claims (1)
1.一种基于GPU的大规模落叶实时渲染方法,其特征在于,包括以下步骤:
(1)建立落叶基础运动轨迹库,具体为:
将落叶的轨迹分为六种基础运动模板:稳速下降(SD),周期翻转(PT),混沌变动(TC),周期振动(PF),变速螺旋(TH)以及周期螺旋(PS),通过Li(1≤i≤6,i为自然数)表示,其中L1~L6分别表示SD,PT,TC,PF,TH,PS;其中,SD使用加上轻微扰动的匀速直线运动模型;PT、TC、PF三种运动使用规律性的轨迹片段进行组合,所述轨迹片段表示如下:
其中,t表示当前时间,xt与yt表示t时刻下的轨迹片段空间坐标,x0与y0表示初始时刻下的轨迹片段空间坐标,U表示匀速下降速度,A表示震荡幅度,Ω表示简谐运动频率;提取时间内的x、y坐标作为轨迹片段;通过调整A、Ω、U的大小得到不同形态的轨迹片段,从而组合得到具有随机性的PT、TC、PF基础运动模板;
TH、PS两种运动通过公式(2)表示:
其中Ae是XOZ平面的椭圆振幅,Ee是椭圆长短轴的比值,k是椭圆震荡周期与物体旋转周期的比值,h是初始高度,Ω′是下降时的角速度,U′是下降时y方向的平均速度;
(2)通过马尔科夫链模型,得到落叶轨迹的低维特征表示:对Li(1≤i≤6)而言,运动轨迹的无序性保持递增;设定一段自由坠落轨迹M{M=m1||m2||···||mi},所述M由数段mi拼接而成,每一段mi对应某一种基础运动模板Li,M的切换概率由马尔科夫链模型计算;设定特征D={S1,S2,S3,S4,S5},其中Si={Li,Ti,Pi},Li表示当前其所属的基础运动模板,Ti表示这段轨迹在总体运动时间中所占的比例,Pi表示从该运动轨迹的哪一段开始运动;以此得到落叶轨迹的低维特征表示D;
(3)在渲染的初始化阶段,向GPU输入存储在内存中的叶片粒子的运动特征参数与形状特征参数;其中叶片粒子的运动特征参数为步骤2得到的特征D,形状特征参数包括叶片的长宽与初始法向、切向;
(4)在实时渲染阶段,逐帧向GPU输入当前***时间与风场信息,在GPU中进行落叶运动位置的计算,具体包括以下步骤:
(4.1)通过逐帧传入的当前***时间与步骤3中传入GPU的运动特征参数,得到当前粒子所属的基础运动模板Li与其在基础运动模板中的位置;
(4.2)从基础轨迹模板中,获取粒子对应的轨迹运动速度VT与角速度ΩT
(4.3)由当前***时间与叶片所处位置,从风场中得到对应的风场响应运动速度Vw;
(4.4)粒子的最终速度V=Vw+VT,最终角速度Ω=ΩT;结合当前帧与上一帧间隔时间Δt,更新叶片的空间位置和法向信息;
(5)利用叶片粒子形状特征参数和步骤4.4计算得到的叶片粒子空间位置、法向,在GPU中进行叶片多边形重建,得到叶片多边形顶点与拓扑信息;具体为:通过求解叶片平面上垂直于法向Nor和切向Tan的向量Lup,得到多边形四个顶点的空间坐标,各顶点的纹理坐标由顶点顺序自动生成,各顶点的法向与质心法向一致。
(6)通过步骤5得到的叶片多边形顶点与拓扑信息,对生成的叶片多边形进行实时渲染。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510128634.XA CN104778737B (zh) | 2015-03-23 | 2015-03-23 | 基于gpu的大规模落叶实时渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510128634.XA CN104778737B (zh) | 2015-03-23 | 2015-03-23 | 基于gpu的大规模落叶实时渲染方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104778737A true CN104778737A (zh) | 2015-07-15 |
CN104778737B CN104778737B (zh) | 2017-10-13 |
Family
ID=53620181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510128634.XA Active CN104778737B (zh) | 2015-03-23 | 2015-03-23 | 基于gpu的大规模落叶实时渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104778737B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392835A (zh) * | 2016-05-16 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 一种粒子***的处理方法及装置 |
CN112988527A (zh) * | 2019-12-13 | 2021-06-18 | 中国电信股份有限公司 | Gpu管理平台异常检测方法、装置以及存储介质 |
CN113096209A (zh) * | 2021-03-29 | 2021-07-09 | 惠州华阳通用电子有限公司 | 一种车载影像轨迹线的显示方法 |
CN113689534A (zh) * | 2021-10-25 | 2021-11-23 | 腾讯科技(深圳)有限公司 | 物理特效渲染方法、装置、计算机设备和存储介质 |
WO2022252834A1 (zh) * | 2021-05-31 | 2022-12-08 | 北京字跳网络技术有限公司 | 一种粒子渲染方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3957669B2 (ja) * | 2003-09-08 | 2007-08-15 | 株式会社バンダイナムコゲームス | 3次元シミュレータ装置及び情報記憶媒体 |
CN102426691A (zh) * | 2011-10-24 | 2012-04-25 | 克拉玛依红有软件有限责任公司 | 一种基于gpu的实时火焰效果的模拟方法 |
CN102722859A (zh) * | 2012-05-31 | 2012-10-10 | 北京像素软件科技股份有限公司 | 一种计算机仿真场景渲染方法 |
CN103714568A (zh) * | 2013-12-31 | 2014-04-09 | 北京像素软件科技股份有限公司 | 一种大规模粒子***的实现方法 |
-
2015
- 2015-03-23 CN CN201510128634.XA patent/CN104778737B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3957669B2 (ja) * | 2003-09-08 | 2007-08-15 | 株式会社バンダイナムコゲームス | 3次元シミュレータ装置及び情報記憶媒体 |
CN102426691A (zh) * | 2011-10-24 | 2012-04-25 | 克拉玛依红有软件有限责任公司 | 一种基于gpu的实时火焰效果的模拟方法 |
CN102722859A (zh) * | 2012-05-31 | 2012-10-10 | 北京像素软件科技股份有限公司 | 一种计算机仿真场景渲染方法 |
CN103714568A (zh) * | 2013-12-31 | 2014-04-09 | 北京像素软件科技股份有限公司 | 一种大规模粒子***的实现方法 |
Non-Patent Citations (1)
Title |
---|
佟志忠等: ""GPU 加速的二维流体实时流动仿真"", 《哈尔滨工程大学学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392835A (zh) * | 2016-05-16 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 一种粒子***的处理方法及装置 |
CN112988527A (zh) * | 2019-12-13 | 2021-06-18 | 中国电信股份有限公司 | Gpu管理平台异常检测方法、装置以及存储介质 |
CN113096209A (zh) * | 2021-03-29 | 2021-07-09 | 惠州华阳通用电子有限公司 | 一种车载影像轨迹线的显示方法 |
CN113096209B (zh) * | 2021-03-29 | 2024-06-04 | 惠州华阳通用电子有限公司 | 一种车载影像轨迹线的显示方法 |
WO2022252834A1 (zh) * | 2021-05-31 | 2022-12-08 | 北京字跳网络技术有限公司 | 一种粒子渲染方法及装置 |
CN113689534A (zh) * | 2021-10-25 | 2021-11-23 | 腾讯科技(深圳)有限公司 | 物理特效渲染方法、装置、计算机设备和存储介质 |
CN113689534B (zh) * | 2021-10-25 | 2022-03-01 | 腾讯科技(深圳)有限公司 | 物理特效渲染方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104778737B (zh) | 2017-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104778737B (zh) | 基于gpu的大规模落叶实时渲染方法 | |
CN101944238B (zh) | 基于拉普拉斯变换的数据驱动人脸表情合成方法 | |
CN104821006B (zh) | 一种基于人体混合包围盒的动态服装仿真方法 | |
CN103987958B (zh) | 利用宽度和厚度相同的翼型叶片的水平轴风力发电机 | |
CN111583367B (zh) | 一种头发模拟方法及*** | |
CN104834793A (zh) | 一种多风电场风速数据的模拟生成方法 | |
CN102184562A (zh) | 一种三维人脸动画模型自动构造方法及*** | |
Ghadirian et al. | Considering induction factor using BEM method in wind farm layout optimization | |
CN104376509A (zh) | 一种考虑风向影响的风电场理论功率确定方法 | |
CN102567465B (zh) | 复眼视觉基础上的三维模型几何相似性搜索方法 | |
CN105956318B (zh) | 基于改进***h-k聚类方法的风电场机群划分方法 | |
CN103793552A (zh) | 一种软组织形变的局部质点弹簧模型的实时动态生成方法 | |
CN103839287B (zh) | 一种用湍流方程丰富火焰模拟细节的方法 | |
CN106649985A (zh) | 基于改进弹簧‑质点模型的花色组织变形模拟方法 | |
CN103942090A (zh) | 一种数据驱动的实时头发运动仿真方法 | |
CN102393825B (zh) | 一种基于非共面剔除的柔性场景连续碰撞检测方法 | |
Nuić et al. | Algorithms for procedural generation and display of trees | |
CN102393827A (zh) | 一种基于连续法向锥剔除的柔性场景连续碰撞检测方法 | |
Li et al. | Numerical simulation of wake interference effects on the downstream wind turbine | |
CN104794747A (zh) | 一种基于射线原理的三维点云数据精简算法 | |
CN104156502B (zh) | 一种基于位置的衣物褶皱几何生成方法 | |
CN103984831B (zh) | 大型风力发电机叶片表面仿鲨鱼沟槽微结构的设计方法 | |
Zuo et al. | Numerical simulation of the aerodynamic performance of a H-type wind turbine during self-starting | |
Hosseinibalam et al. | Simulation of tidal energy extraction by using FLUENT model | |
Prakash et al. | A Feasibility Analysis of Using Savonius VAWT on a Vehicle for Energy Capture Check for updates |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |