CN102722859B - 一种计算机仿真场景渲染方法 - Google Patents
一种计算机仿真场景渲染方法 Download PDFInfo
- Publication number
- CN102722859B CN102722859B CN201210176996.2A CN201210176996A CN102722859B CN 102722859 B CN102722859 B CN 102722859B CN 201210176996 A CN201210176996 A CN 201210176996A CN 102722859 B CN102722859 B CN 102722859B
- Authority
- CN
- China
- Prior art keywords
- particle
- present frame
- scene
- primary data
- gpu
- 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
Links
Images
Landscapes
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种计算机仿真场景渲染方法,包括:中央处理器CPU在粒子系统初始化的时候创建粒子初始数据,并将所述初始数据通知给图形处理器GPU;在每个渲染帧中,所述CPU将当前帧相对于创建所述初始数据时的时间偏移量通知给所述GPU,所述GPU根据所述时间偏移量和所述初始数据,确定当前帧用于场景渲染的粒子属性信息,并根据当前确定的所述粒子属性信息,将当前帧的粒子显示到场景观察设备的屏幕上。采用本发明可提高渲染效率。
Description
技术领域
本发明涉及计算机应用技术,特别是涉及一种计算机图形处理中的计算机仿真场景渲染方法。
背景技术
目前,计算机仿真系统为了提升其场景的真实度以及对用户的带入感程度,在其渲染系统中都引入了粒子系统来模拟各种自然现象。粒子系统是三维计算机图形学中模拟一些现实中具有模糊现象场景的技术。对于这些模糊现象,使用其它传统的渲染技术难以实现具有真实感的视觉效果。经常使用粒子系统模拟的现象有火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者象发光轨迹这样的抽象视觉效果等等。粒子系统技术的出现也为3D游戏的画质提升带来了质的飞跃。粒子系统不仅可以带给用户更多更为真实的游戏体验,激发玩家的兴趣,并且愈加成为每一款游戏在技能烘托、场景渲染中不可分割的重要组成部分。
现有的粒子系统中由两个处理器,即中央处理器(CPU)和图形处理器(GPU),来协助实现场景的渲染。将一个粒子系统从出生到渲染到屏幕的整体过程如图1所示,包含以下内容:
1.CPU负责粒子的发射、属性更新,以及向显存传输已经计算完毕各项属性的粒子。
2.GPU负责将计算好属性的粒子进行坐标变换、光栅化操作,最终渲染到屏幕上来。
3.每帧都循环执行上图所示的整体流程,就完成了粒子系统从出生到渲染到屏幕的整体流程。
上述传统的粒子系统方案存在一个主要的缺点是粒子系统的整体性能不够高效,CPU与GPU的负载不均衡。在现有技术下整个系统对CPU的压力过大,CPU承载了粒子系统的绝大部分计算操作,而且没有发挥出GPU的计算性能,除渲染操作外,GPU基本没有其他工作。具体原因有以下几点:
1.粒子发射阶段:CPU需要不断的出生新的粒子和杀死已经死亡的粒子。出生粒子对应着内存申请操作,杀死粒子对应着内存释放操作,对内存频繁反复的申请和释放操作对CPU的开销来说是比较大的。
2.粒子的属性更新阶段:CPU需要对每个粒子的属性都按照时间进行更新操作,在更新过程中,CPU需要执行大量的浮点运算操作,而这些运算会消耗掉CPU非常多本来用于执行其他运算的宝贵时间。
3.粒子的注册渲染阶段:由于目前大部分的粒子系统都采用的公告板渲染技术,即每个粒子的最终渲染都需要四个顶点进行描述。在这一阶段需要计算每个粒子的各个顶点的位置、纹理坐标等其他属性,需要进行大量的浮点运算操作。然后需要向GPU申请一块同等大小的显存,并且需要执行数据从内存到显存的传输工作,反复的数据传输也会降低系统性能。
4.GPU渲染阶段:进行坐标变换与光栅化操作,相对于CPU来说负载过小。
在粒子数量不多的情况下,上述传统的粒子系统实现方案可以很好地仿真场景的渲染工作,但是如果有大规模的粒子渲染需要,例如雨、雪等,这种方式对整体的性能影响就会比较大。
由此可见,采用传统的粒子系统来实现计算机仿真场景的渲染,存在渲染效率低的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种计算机仿真场景渲染方法,该方法的渲染效率高。
为了达到上述目的,本发明提出的技术方案为:
一种计算机仿真场景渲染方法,该方法包括以下步骤:
a、中央处理器CPU在粒子系统初始化的时候创建粒子初始数据,并将所述初始数据通知给图形处理器GPU;
b、在每个渲染帧中,所述CPU将当前帧相对于创建所述初始数据时的时间偏移量通知给所述GPU,所述GPU根据所述时间偏移量和所述初始数据,确定当前帧用于场景渲染的粒子属性信息,并根据当前确定的所述粒子属性信息,将当前帧的粒子显示到场景观察设备的屏幕上。
综上所述,本发明提出的计算机仿真场景渲染方法,在利用粒子系统进行渲染时,利用GPU来负责粒子的更新工作,如此可减少CPU的工作量,同时可发挥GPU的优势,提高渲染效率。
附图说明
图1为使用现有粒子系统实现计算机仿真场景渲染的过程示意图;
图2为本发明实施例一的方法流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
考虑到当有大规模的粒子渲染需要时,粒子的更新需要大规模的浮点单元运算操作,而相对于CPU而言,GPU的浮点计算单元数量很多,更适合做此项工作。基于此,本发明的核心思想是:将各帧粒子属性的计算操作转移到GPU中实现,由GPU根据CPU创建的初始粒子数据和各帧当前的时间偏移参数,来确定各帧的粒子属性,这样,可以将CPU从繁杂的浮点计算中解放出来,同时,也可以最大限度地避免CPU对内存的频繁读写、申请和释放操作,使得在访问内存读取数据时的等待时间降到最低,另外,也可以减少CPU与GPU之间频繁反复的数据传输,这样,GPU还可以使用静态显存来存放粒子数据,提高对显存的读取和计算速度。
图2为本发明实施例一的方法流程示意图,如图2所示,该方法包括以下步骤:
步骤201、中央处理器CPU在粒子系统初始化的时候创建粒子初始数据,并将所述初始数据通知给图形处理器GPU。
本步骤中,粒子系统在初始化时创建粒子初始数据的具体方法,同现有粒子系统,在此不再赘述。
步骤202、在每个渲染帧中,所述CPU将当前帧相对于创建所述初始数据时的时间偏移量通知给所述GPU,所述GPU根据所述时间偏移量和所述初始数据,确定当前帧用于场景渲染的粒子属性信息,并根据当前确定的所述粒子属性信息,将当前帧的粒子显示到场景观察设备的屏幕上。
较佳地,所述场景观察设备为摄像机。
本步骤中,与现有粒子系统所不同的是,这里在每个渲染帧CPU只需要将所述时间偏移量通知给GPU,由GPU根据该时间偏移量和初始数据,完成粒子属性的更新。如此,一方面可以使CPU不需要再为粒子更新而进行大量的浮点运算和频繁地内存申请与释放操作,相应地,内存与显存之间也不存在粒子更新所致的大量数据传输,因而也不会降低系统性能,另一方面也可发挥出GPU的浮点计算优势,实现CPU与GPU的负载均衡。另外,这里,GPU进行当前帧的粒子属性的确定时,是根据时间偏移量和初始数据进行得到的,这样,粒子系统数据在初始化后就不再改变,因此GPU可以使用静态显存保存数据,而GPU对静态显存比动态显存有着更快的访问速度,并且可以避免由于数据量大时高速缓存的命中率变低所致的需要反复读写内存的问题,省去了CPU与GPU数据的传输开销。
本步骤中,GPU确定当前帧用于场景渲染的粒子属性信息的具体方法,除确定粒子的位置信息的方法之外,其他属性信息如色彩等的确定为本领域技术人员所掌握,在此不再赘述。
较佳地,对于当前帧需要显示的一个粒子,可以采用下述方法确定其用于显示的最终位置信息。
步骤x1、根据所述时间偏移量,按照Δl=v*Δt,计算粒子i在当前帧的粒子自身位置偏移量Δl,其中,v为所述初始数据中指定的粒子i的粒子移动速度,Δt为所述时间偏移量。
本步骤用于计算在当前帧粒子i的自身位置偏移量
步骤x2、根据所述粒子自身位置偏移量Δl,按照Δl′=Δl+P,计算粒子i在当前帧的粒子位置总偏移量Δl′。
其中,所述粒子i所属粒子系统在笛卡尔坐标中的对应区域的最小坐标为(fBoxLenght,fBoxLength,fBoxLength),最大坐标为(2fBoxLenght,2fBoxLength,2fBoxLength),所述fBoxLength为预设的粒子系统的边界边长,该参数也在所述初始数据中指定的,所述P为与所述粒子系统绑定的场景观察设备在当前帧在所述笛卡尔坐标中的位置。
本步骤用于计算考虑了场景观察设备后粒子i在当前帧的位置总偏移量,这样,此后,可以基于此来计算粒子在当前帧相对于场景观察设备的相对位置。
这里需要说明的是,本实施例中,没有将所述粒子i所属粒子系统在笛卡尔坐标中的对应区域放在坐标原点上,而是使该区域放在最小坐标为(fBoxLenght,fBoxLength,fBoxLength),最大坐标为(2fBoxLenght,2fBoxLength,2fBoxLength)的位置上,如此,可以确保经过偏移量计算后,粒子所在位置的范围都是正数,可以方便地得到[0,fBoxLength]的取值范围,否则还需在GPU中进行多余的处理。因此,本实施例中对粒子系统在笛卡尔坐标中的对应区域进行上述位置限定,是为了实现的简单,在实际应用中不限于此。
步骤x3、对所述粒子位置总偏移量Δl′取模,将取模后的所述粒子位置总偏移量与所述初始数据中指定的所述粒子i的粒子初始位置相加,得到粒子i在当前帧的相对位置l,所述粒子初始位置为所述粒子i在所述笛卡尔坐标中的初始位置。
本步骤中计算得到的粒子的相对位置,由于每一帧的相对位置是不断变化的,因此当场景观察设备移动时,可以实现一种场景观察设备在粒子系统中进行穿梭的感觉。
步骤x4、根据所述粒子i在当前帧的所述相对位置l,按照l′=l+P,得到粒子i在当前帧的粒子最终位置l′。
本步骤所计算得到的粒子最终位置l′可以将已确定相对位置的粒子系统移动绑定到场景观察设备上,即可以使粒子能够跟随场景观察设备(观察者的眼睛)进行移动,以便观察者通过场景观察设备看到渲染效果。
进一步地,为了使场景观察设备的屏幕上显示尽可能大面积的粒子系统,以达到更好的渲染效果,这里可以考虑引入一个固定偏移系数来计算粒子最终位置,该固定偏移系统用于将粒子系统尽可能多地显示在所述场景观察设备的可视域内。基于该目的,对于当前帧需要显示的一个粒子,可以采用下述方法确定其用于显示的最终位置信息:
步骤y1、根据所述时间偏移量,按照Δl=v*Δt,计算粒子i在当前帧的粒子自身位置偏移量Δl,其中,v为所述初始数据中指定的粒子i的粒子移动速度,Δt为所述时间偏移量。
本步骤同上述步骤x1,在此不再赘述。
步骤y2、根据所述粒子自身偏移Δl,按照Δl′=Δl+P+γ,计算粒子i在当前帧的粒子总偏移量Δl′,其中,所述粒子i所属粒子系统在笛卡尔坐标中的对应区域的最小坐标为(fBoxLenght,fBoxLength,fBoxLength),最大坐标为(2fBoxLenght,2fBoxLength,2fBoxLength),所述fBoxLength为预设的粒子系统的边界边长,所述P为与所述粒子系统绑定的所述场景观察设备在当前帧在所述笛卡尔坐标中的位置,所述γ为所述初始数据中指定的用于调整所述场景观察设备中所显示渲染场景大小的固定偏移系数。
步骤y3、对所述粒子总偏移量Δl′取模,将取模后的所述粒子总偏移量与所述初始数据中指定的所述粒子i的粒子初始位置相加,得到粒子i在当前帧的相对位置l,所述粒子初始位置为所述粒子i在所述笛卡尔坐标中的初始位置。
步骤y4、根据所述粒子i在当前帧的所述相对位置l、所述P和所述γ,按照l′=l+P+γ,得到粒子i在当前帧的粒子最终位置l′。
上述方法中,由于在计算粒子总偏移量Δl′和粒子最终位置l′时,考虑了固定偏移系数,因此可以将尽可能多粒子系统挪到所述场景观察设备中,以达到更好的全场景的粒子渲染效果(如下雨、雪之类场景)
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种计算机仿真场景渲染方法,其特征在于,该方法包括以下步骤:
a、中央处理器CPU在粒子系统初始化的时候创建粒子初始数据,并将所述初始数据通知给图形处理器GPU;
b、在每个渲染帧中,所述CPU将当前帧相对于创建所述初始数据时的时间偏移量通知给所述GPU,所述GPU根据所述时间偏移量和所述初始数据,确定当前帧用于场景渲染的粒子属性信息,并根据当前确定的所述粒子属性信息,将当前帧的粒子显示到场景观察设备的屏幕上;
其中,所述粒子属性信息包括:粒子最终位置信息;对于当前帧用于场景渲染的每个粒子i,确定所述粒子最终位置的方法包括:
根据所述时间偏移量,按照Δl=v*Δt,计算粒子i在当前帧的粒子自身位置偏移量Δl,其中,v为所述初始数据中指定的粒子i的粒子移动速度,Δt为所述时间偏移量;
根据所述粒子自身位置偏移量Δl,按照Δl′=Δl+P,计算粒子i在当前帧的粒子位置总偏移量Δl′,其中,所述粒子i所属粒子系统在笛卡尔坐标中的对应区域的最小坐标为(fBoxLenght,fBoxLength,fBoxLength),最大坐标为(2fBoxLenght,2fBoxLength,2fBoxLength),所述fBoxLength为预设的粒子系统的边界边长,所述P为与所述粒子系统绑定的场景观察设备在当前帧在所述笛卡尔坐标中的位置;
对所述粒子位置总偏移量Δl′取模,将取模后的所述粒子位置总偏移量与所述初始数据中指定的所述粒子i的粒子初始位置相加,得到粒子i在当前帧的相对位置l,所述粒子初始位置为所述粒子i在所述笛卡尔坐标中的初始位置;
根据所述粒子i在当前帧的所述相对位置l,按照l′=l+P,得到粒子i在当前帧的粒子最终位置l′。
2.根据权利要求1所述的方法,其特征在于,所述场景观察设备为摄像机。
3.一种计算机仿真场景渲染方法,其特征在于,该方法包括以下步骤:
a、中央处理器CPU在粒子系统初始化的时候创建粒子初始数据,并将所述初始数据通知给图形处理器GPU;
b、在每个渲染帧中,所述CPU将当前帧相对于创建所述初始数据时的时间偏移量通知给所述GPU,所述GPU根据所述时间偏移量和所述初始数据,确定当前帧用于场景渲染的粒子属性信息,并根据当前确定的所述粒子属性信息,将当前帧的粒子显示到场景观察设备的屏幕上;
其中,所述粒子属性信息包括:粒子最终位置信息;对于当前帧用于场景渲染的每个粒子i,确定所述粒子最终位置的方法包括:
根据所述时间偏移量,按照Δl=v*Δt,计算粒子i在当前帧的粒子自身位置偏移量Δl,其中,v为所述初始数据中指定的粒子i的粒子移动速度,Δt为所述时间偏移量;
根据所述粒子自身位置偏移Δl,按照Δl′=Δl+P+γ,计算粒子i在当前帧的粒子位置总偏移量Δl′,其中,所述粒子i所属粒子系统在笛卡尔坐标中的对应区域的最小坐标为(fBoxLenght,fBoxLength,fBoxLength),最大坐标为(2fBoxLenght,2fBoxLength,2fBoxLength),所述fBoxLength为预设的粒子系统的边界边长,所述P为与所述粒子系统绑定的所述场景观察设备在当前帧在所述笛卡尔坐标中的位置,所述γ为所述初始数据中指定的用于调整所述场景观察设备中所显示渲染场景大小的固定偏移系数;
对所述粒子位置总偏移量Δl′取模,将取模后的所述粒子总偏移量与所述初始数据中指定的所述粒子i的粒子初始位置相加,得到粒子i在当前帧的相对位置l,所述粒子初始位置为所述粒子i在所述笛卡尔坐标中的初始位置;
根据所述粒子i在当前帧的所述相对位置l、所述P和所述γ,按照l′=l+P+γ,得到粒子i在当前帧的粒子最终位置l′。
4.根据权利要求3所述的方法,其特征在于,所述场景观察设备为摄像机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210176996.2A CN102722859B (zh) | 2012-05-31 | 2012-05-31 | 一种计算机仿真场景渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210176996.2A CN102722859B (zh) | 2012-05-31 | 2012-05-31 | 一种计算机仿真场景渲染方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102722859A CN102722859A (zh) | 2012-10-10 |
CN102722859B true CN102722859B (zh) | 2014-05-14 |
Family
ID=46948606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210176996.2A Active CN102722859B (zh) | 2012-05-31 | 2012-05-31 | 一种计算机仿真场景渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102722859B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103247066A (zh) * | 2013-04-17 | 2013-08-14 | 南京信息工程大学 | 基于粒子技术的聚落自然与气象环境仿真算法 |
CN103310476B (zh) * | 2013-05-29 | 2018-12-25 | 新奥特(北京)视频技术有限公司 | 一种粒子发射方法和装置 |
CN103455323B (zh) * | 2013-07-05 | 2018-12-25 | 新奥特(北京)视频技术有限公司 | 一种粒子效果的实现方法及装置 |
CN103389387B (zh) * | 2013-07-05 | 2019-02-22 | 新奥特(北京)视频技术有限公司 | 一种粒子受到力作用的效果实现方法及装置 |
CN103455968A (zh) * | 2013-08-07 | 2013-12-18 | 厦门美图网科技有限公司 | 一种具有粒子元素的实时影像渲染方法 |
CN103544729A (zh) * | 2013-09-24 | 2014-01-29 | Tcl集团股份有限公司 | 一种动画数据处理方法及系统 |
CN103714568B (zh) * | 2013-12-31 | 2017-02-15 | 北京像素软件科技股份有限公司 | 一种大规模粒子系统的实现方法 |
CN104778737B (zh) * | 2015-03-23 | 2017-10-13 | 浙江大学 | 基于gpu的大规模落叶实时渲染方法 |
CN105635806B (zh) * | 2015-12-28 | 2018-12-28 | 北京像素软件科技股份有限公司 | 群体运动场景的渲染方法 |
CN105869106A (zh) * | 2016-04-27 | 2016-08-17 | 中国电子科技集团公司第二十八研究所 | 一种改进的三维实体云绘制方法 |
CN107392835B (zh) | 2016-05-16 | 2019-09-13 | 腾讯科技(深圳)有限公司 | 一种粒子系统的处理方法及装置 |
CN107392935B (zh) * | 2017-07-06 | 2021-06-29 | 苏州蜗牛数字科技股份有限公司 | 一种基于积分公式的粒子计算方法及粒子系统 |
CN108470369B (zh) * | 2018-03-26 | 2022-03-15 | 城市生活(北京)资讯有限公司 | 一种水面渲染方法及装置 |
CN108665531A (zh) * | 2018-05-08 | 2018-10-16 | 阿里巴巴集团控股有限公司 | 3d粒子模型的变换方法及装置 |
CN110047030B (zh) * | 2019-04-10 | 2023-05-16 | 网易(杭州)网络有限公司 | 周期性特效生成方法及装置、电子设备、存储介质 |
CN111815749A (zh) * | 2019-09-03 | 2020-10-23 | 厦门雅基软件有限公司 | 粒子计算方法、装置、电子设备及计算机可读存储介质 |
CN112435312B (zh) * | 2020-09-04 | 2023-04-11 | 上海哔哩哔哩科技有限公司 | 运动轨迹的生成方法、装置、计算机设备和可读存储介质 |
CN113750527B (zh) * | 2021-09-10 | 2023-09-01 | 福建天晴数码有限公司 | 一种高准确度的帧率控制方法及其系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100354894C (zh) * | 2005-11-10 | 2007-12-12 | 北京航空航天大学 | 基于图形处理单元gpu的粒子系统实现方法 |
US8149242B2 (en) * | 2006-11-10 | 2012-04-03 | Sony Computer Entertainment Inc. | Graphics processing apparatus, graphics library module and graphics processing method |
CN102402791B (zh) * | 2011-10-24 | 2013-12-18 | 克拉玛依红有软件有限责任公司 | 一种基于gpu的三维流体模拟方法 |
-
2012
- 2012-05-31 CN CN201210176996.2A patent/CN102722859B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102722859A (zh) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102722859B (zh) | 一种计算机仿真场景渲染方法 | |
US10685152B2 (en) | Systems and methods for fast simulation and visualization of sparse fluids | |
JP5706241B2 (ja) | 画像生成プログラム、画像生成装置、画像生成システム及び画像生成方法 | |
CN102402791B (zh) | 一种基于gpu的三维流体模拟方法 | |
WO2017198104A1 (zh) | 一种粒子系统的处理方法及装置 | |
JP4771821B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
CN110838162A (zh) | 植被渲染方法及装置、存储介质及电子设备 | |
CN102426691A (zh) | 一种基于gpu的实时火焰效果的模拟方法 | |
CN101458825B (zh) | 显卡中实现3d骨骼动画模型的碰撞检测方法及显卡、系统 | |
CN110090440B (zh) | 虚拟对象显示方法、装置、电子设备及存储介质 | |
CN104200506A (zh) | 三维gis海量矢量数据渲染方法及装置 | |
US8237722B2 (en) | Systems and method for visualization of fluids | |
JP4672072B2 (ja) | 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置 | |
CN101315703A (zh) | 三维大规模场景动态管理方法 | |
CN102609971A (zh) | 嵌入式gpu实现3d-gis的快速渲染系统 | |
WO2021218093A1 (zh) | 信息处理方法、装置、设备及存储介质 | |
US8482567B1 (en) | Line rasterization techniques | |
CN104700446A (zh) | 一种粒子系统中粒子顶点数据的更新方法 | |
WO2017174006A1 (zh) | 图片处理的方法和装置 | |
CN115906703A (zh) | 一种用于实时交互应用的gpu流体仿真方法 | |
JP2007164728A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
WO2023165198A1 (zh) | 图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
Wang | Construction of Internet Game Development Environment based on OpenGL and Augmented Reality | |
CN213424331U (zh) | 一种模拟演示超算性能影响因素的科普展示装置 | |
CN107038737A (zh) | 立体棋牌绘制方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |