[发明专利]基于GPU的大规模落叶实时渲染方法有效
申请号: | 201510128634.X | 申请日: | 2015-03-23 |
公开(公告)号: | CN104778737B | 公开(公告)日: | 2017-10-13 |
发明(设计)人: | 童若锋;钱景晔 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06T13/60 | 分类号: | G06T13/60 |
代理公司: | 杭州求是专利事务所有限公司33200 | 代理人: | 邱启旺 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 gpu 大规模 落叶 实时 渲染 方法 | ||
技术领域
本发明属于计算机实时渲染领域,特别涉及一种基于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与其在基础运动模板中的位置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510128634.X/2.html,转载请声明来源钻瓜专利网。