CN104778737B - 基于gpu的大规模落叶实时渲染方法 - Google Patents

基于gpu的大规模落叶实时渲染方法 Download PDF

Info

Publication number
CN104778737B
CN104778737B CN201510128634.XA CN201510128634A CN104778737B CN 104778737 B CN104778737 B CN 104778737B CN 201510128634 A CN201510128634 A CN 201510128634A CN 104778737 B CN104778737 B CN 104778737B
Authority
CN
China
Prior art keywords
mrow
msub
gpu
blade
fallen leaves
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.)
Active
Application number
CN201510128634.XA
Other languages
English (en)
Other versions
CN104778737A (zh
Inventor
童若锋
钱景晔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201510128634.XA priority Critical patent/CN104778737B/zh
Publication of CN104778737A publication Critical patent/CN104778737A/zh
Application granted granted Critical
Publication of CN104778737B publication Critical patent/CN104778737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种基于GPU的大规模落叶实时渲染方法,该方法首先建立落叶运动的基础运动轨迹库;通过马尔科夫链模型,得到落叶轨迹的低维特征表示;在渲染的初始化阶段,向GPU输入存储在内存中的叶片粒子的运动特征参数与形状特征参数;在实时渲染阶段,逐帧向GPU输入当前系统时间与风场信息,在GPU中进行落叶运动位置的计算;在GPU中进行叶片多边形重建;最后进行渲染。本发明充分利用了GPU的并行计算优势,在GPU中使用独立线程完成对每一片叶片的运动轨迹计算,该方法在保证了渲染真实性的基础上,大大提高了落叶渲染的效率,满足了大场景植被落叶运动的实时渲染需求。

Description

基于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与其在基础运动模板中的位置;
(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),周期翻转(Periodic Tumbling/PT),混沌变动(Transitional Chaotic/TC),周期振动(PeriodicFluttering/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三种运动使用规律性的轨迹片段进行组合,所述轨迹片段表示如下:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mi>t</mi> </msub> <mo>=</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>-</mo> <mfrac> <mi>A</mi> <mi>&amp;Omega;</mi> </mfrac> <mi>s</mi> <mi>i</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>&amp;Omega;</mi> <mi>t</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mi>t</mi> </msub> <mo>=</mo> <msub> <mi>y</mi> <mn>0</mn> </msub> <mo>-</mo> <mi>U</mi> <mi>t</mi> <mo>-</mo> <mfrac> <mi>A</mi> <mi>&amp;Omega;</mi> </mfrac> <mi>sin</mi> <mrow> <mo>(</mo> <mi>&amp;Omega;</mi> <mi>t</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
其中,t表示当前时间,xt与yt表示t时刻下的轨迹片段空间坐标,x0与y0表示初始时刻下的轨迹片段空间坐标,U表示匀速下降速度,A表示震荡幅度,Ω表示简谐运动频率;提取时间内的x和y坐标作为轨迹片段;通过调整A、Ω和U的大小得到不同形态的轨迹片段,从而组合得到具有随机性的PT、TC和PF基础运动模板;
TH、PS两种运动通过公式(2)表示:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mi>t</mi> </msub> <mo>=</mo> <msub> <mi>A</mi> <mi>e</mi> </msub> <mi>c</mi> <mi>o</mi> <mi>s</mi> <mrow> <mo>(</mo> <msup> <mi>&amp;Omega;</mi> <mo>&amp;prime;</mo> </msup> <mi>t</mi> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mn>1</mn> <mo>+</mo> <msub> <mi>E</mi> <mi>e</mi> </msub> <mi>sin</mi> <mo>(</mo> <msup> <mi>k&amp;Omega;</mi> <mo>&amp;prime;</mo> </msup> <mi>t</mi> <mo>)</mo> </mrow> <mo>)</mo> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mi>t</mi> </msub> <mo>=</mo> <mi>h</mi> <mo>-</mo> <msup> <mi>U</mi> <mo>&amp;prime;</mo> </msup> <mi>t</mi> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>z</mi> <mi>t</mi> </msub> <mo>=</mo> <msub> <mi>A</mi> <mi>e</mi> </msub> <mi>sin</mi> <mrow> <mo>(</mo> <msup> <mi>&amp;Omega;</mi> <mo>&amp;prime;</mo> </msup> <mi>t</mi> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mn>1</mn> <mo>+</mo> <msub> <mi>E</mi> <mi>e</mi> </msub> <mi>s</mi> <mi>i</mi> <mi>n</mi> <mo>(</mo> <msup> <mi>k&amp;Omega;</mi> <mo>&amp;prime;</mo> </msup> <mi>t</mi> <mo>)</mo> </mrow> <mo>)</mo> <mo>,</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
其中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)得到的叶片多边形顶点与拓扑信息,对生成的叶片多边形进行实时渲染。
CN201510128634.XA 2015-03-23 2015-03-23 基于gpu的大规模落叶实时渲染方法 Active CN104778737B (zh)

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 CN104778737A (zh) 2015-07-15
CN104778737B true 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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107392835B (zh) * 2016-05-16 2019-09-13 腾讯科技(深圳)有限公司 一种粒子系统的处理方法及装置
CN112988527A (zh) * 2019-12-13 2021-06-18 中国电信股份有限公司 Gpu管理平台异常检测方法、装置以及存储介质
CN113096209A (zh) * 2021-03-29 2021-07-09 惠州华阳通用电子有限公司 一种车载影像轨迹线的显示方法
CN115423914A (zh) * 2021-05-31 2022-12-02 北京字跳网络技术有限公司 一种粒子渲染方法及装置
CN113689534B (zh) * 2021-10-25 2022-03-01 腾讯科技(深圳)有限公司 物理特效渲染方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
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 北京像素软件科技股份有限公司 一种大规模粒子系统的实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
"GPU 加速的二维流体实时流动仿真";佟志忠等;《哈尔滨工程大学学报》;20080330;第29卷(第3期);第278-284页 *

Also Published As

Publication number Publication date
CN104778737A (zh) 2015-07-15

Similar Documents

Publication Publication Date Title
CN104778737B (zh) 基于gpu的大规模落叶实时渲染方法
CN101650836B (zh) 三维植物器官几何曲面自适应网格化方法及系统
CN104821006B (zh) 一种基于人体混合包围盒的动态服装仿真方法
CN111583367B (zh) 一种头发模拟方法及系统
CN109242016B (zh) 一种空间曲线的相似性判断方法
CN104008561A (zh) 一种基于gpu模拟过程式动画的实现方法
CN112785668B (zh) 一种动漫三维角色动作轨迹融合系统
CN102184562A (zh) 一种三维人脸动画模型自动构造方法及系统
CN103679271B (zh) 基于Bloch球面坐标及量子计算的碰撞检测方法
CN104361625A (zh) 一种基于射线原理的带边界保留的云数据精简算法
CN103310478A (zh) 一种多样化虚拟人群生成的方法
CN102567465B (zh) 复眼视觉基础上的三维模型几何相似性搜索方法
CN103839287A (zh) 一种用湍流方程丰富火焰模拟细节的方法
CN103679751B (zh) 一种基于量子计算的碰撞检测方法
CN106530375A (zh) 一种个性化情绪感染的人群动画生成方法
CN102393825B (zh) 一种基于非共面剔除的柔性场景连续碰撞检测方法
Nuić et al. Algorithms for procedural generation and display of trees
CN102393827A (zh) 一种基于连续法向锥剔除的柔性场景连续碰撞检测方法
CN105844036A (zh) 一种基于随机粒子的涡旋流场动态可视化方法
CN109003319A (zh) 角色动画中带有动力学约束的元球驱动蒙皮方法
CN104794747A (zh) 一种基于射线原理的三维点云数据精简算法
CN104156502B (zh) 一种基于位置的衣物褶皱几何生成方法
CN107368031B (zh) 基于最大带宽走刀方向场的曲面加工轨迹规划方法和装置
CN110490957B (zh) 物体的变形动画的3d特效展示方法、装置及设备
Wang et al. Kinect driven 3D character animation using semantical skeleton

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