CN111476858B - A 2D engine rendering method, device and equipment based on WebGL - Google Patents
A 2D engine rendering method, device and equipment based on WebGL Download PDFInfo
- Publication number
- CN111476858B CN111476858B CN202010279091.2A CN202010279091A CN111476858B CN 111476858 B CN111476858 B CN 111476858B CN 202010279091 A CN202010279091 A CN 202010279091A CN 111476858 B CN111476858 B CN 111476858B
- Authority
- CN
- China
- Prior art keywords
- rendering
- geometric
- objects
- geometric objects
- texture
- 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
Classifications
-
- G06T11/10—
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种基于WebGL的2d引擎渲染方法、装置、设备及计算机可读存储介质,该方法包括:获取显示对象各自对应的几何对象;根据每个几何对象的渲染状态和贴图信息,对全部几何对象进行排序,得到排序结果;根据排序结果和预设单批次对象数量,对全部几何对象进行分组封装,获取几何对象组;根据每个几何对象组的需求贴图数量和预设最大贴图数,创建批处理请求,并对每个批处理请求进行渲染;本发明通过根据每个几何对象的渲染状态和贴图信息,对全部几何对象进行排序,可以将渲染状态相同且需要使用相同贴图进行渲染的几何对象相邻,从而保证了利用硬件渲染批处理请求时的渲染效果,提高了渲染效率和渲染性能,提升了用户体验。
The present invention discloses a WebGL-based 2D engine rendering method, device, device, and computer-readable storage medium. The method includes: obtaining geometric objects corresponding to display objects; All geometric objects are sorted to obtain the sorting results; according to the sorting results and the preset number of objects in a single batch, all geometric objects are grouped and packaged to obtain geometric object groups; according to the number of textures required for each geometric object group and the preset maximum texture number, create batch processing requests, and render each batch processing request; the present invention sorts all geometric objects according to the rendering state and texture information of each geometric object, so that the rendering state can be the same and the same texture needs to be used for rendering The rendered geometric objects are adjacent to each other, thereby ensuring the rendering effect when using hardware rendering to batch processing requests, improving rendering efficiency and rendering performance, and improving user experience.
Description
技术领域technical field
本发明涉及计算机技术领域,特别涉及一种基于WebGL的2d引擎渲染方法、装置、设备及计算机可读存储介质。The present invention relates to the field of computer technology, in particular to a WebGL-based 2D engine rendering method, device, equipment and computer-readable storage medium.
背景技术Background technique
WebGL(Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaScript(一种脚本语言)和OpenGL ES 2.0(一种图形程序接口)结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas(用于在网页上绘制图形)提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。显然,WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏等等。WebGL (Web Graphics Library) is a 3D drawing protocol. This drawing technology standard allows the combination of JavaScript (a scripting language) and OpenGL ES 2.0 (a graphics program interface), by adding a JavaScript of OpenGL ES 2.0 Binding, WebGL can provide hardware 3D accelerated rendering for HTML5 Canvas (used to draw graphics on web pages), so that Web developers can use the system graphics card to display 3D scenes and models more smoothly in the browser, and create Sophisticated navigation and data visualization. Obviously, the WebGL technical standard eliminates the trouble of developing a special rendering plug-in for web pages, and can be used to create website pages with complex 3D structures, and even to design 3D web games and so on.
现有技术中,大部分基于WebGL的2d引擎(即WebGL 2d引擎)使用硬件渲染Sprite(显示对象)时,并未采用合批处理的方法,使得渲染的效率和性能较低,不利于用户体验。因此,如何能够提供一种WebGL 2d引擎的合批处理渲染方法,提高渲染的效率和性能,提升用户体验,是现今急需解决的问题。In the prior art, when most WebGL-based 2d engines (i.e. WebGL 2d engines) use hardware to render Sprites (display objects), they do not adopt the method of batch processing, which makes the rendering efficiency and performance low, which is not conducive to user experience . Therefore, how to provide a batch processing rendering method of the WebGL 2d engine, improve rendering efficiency and performance, and improve user experience is an urgent problem to be solved today.
发明内容Contents of the invention
本发明的目的是提供一种基于WebGL的2d引擎渲染方法、装置、设备及计算机可读存储介质,提高使用硬件渲染显示对象的渲染效率和渲染性能,提升用户体验。The purpose of the present invention is to provide a WebGL-based 2d engine rendering method, device, equipment and computer-readable storage medium, improve the rendering efficiency and rendering performance of display objects using hardware rendering, and improve user experience.
为解决上述技术问题,本发明提供一种基于WebGL的2d引擎渲染方法,包括:In order to solve the above-mentioned technical problems, the present invention provides a 2d engine rendering method based on WebGL, comprising:
获取显示对象各自对应的几何对象;其中,每个所述几何对象是由各自对应的显示对象的渲染信息封装的,所述渲染信息包括顶点数据、贴图信息和渲染状态;Acquiring geometric objects corresponding to each of the display objects; wherein, each of the geometric objects is encapsulated by rendering information of the respective corresponding display objects, and the rendering information includes vertex data, texture information and rendering status;
根据每个所述几何对象的所述渲染状态和所述贴图信息,对全部所述几何对象进行排序,得到排序结果;其中,所述排序结果中所述渲染状态相同且所述贴图信息相同的几何对象相邻;According to the rendering state and the texture information of each of the geometric objects, sort all the geometric objects to obtain a sorting result; wherein, in the sorting results, the rendering status is the same and the texture information is the same adjacent geometric objects;
根据所述排序结果和预设单批次对象数量,对全部所述几何对象进行分组封装,获取几何对象组;其中,每个所述几何对象组由各自对应的全部几何对象上传到同一顶点缓存中的所述顶点数据与所述贴图信息和所述渲染状态封装的;According to the sorting result and the preset number of objects in a single batch, all the geometric objects are grouped and packaged to obtain geometric object groups; wherein, each geometric object group is uploaded to the same vertex buffer by all corresponding geometric objects The vertex data in is encapsulated with the texture information and the rendering state;
根据每个所述几何对象组的需求贴图数量和预设最大贴图数,创建批处理请求,并对每个批处理请求进行渲染;其中,所述需求贴图数量为对应的几何对象组中不同的所述贴图信息的数量。According to the number of required textures and the preset maximum number of textures of each geometric object group, a batch processing request is created, and each batch processing request is rendered; wherein, the number of required textures is different in the corresponding geometric object group The amount of texture information in question.
可选的,所述根据每个所述几何对象的所述渲染状态和所述贴图信息,对全部所述几何对象进行排序,得到排序结果,包括:Optionally, sorting all the geometric objects according to the rendering state and the texture information of each geometric object, to obtain a sorting result, including:
将全部所述几何对象放入到显示列表;Put all said geometric objects into a display list;
根据每个所述几何对象的所述渲染状态和所述贴图信息,在所述显示列表中全部所述几何对象进行排序,得到排序完成的显示列表;其中,排序完成的显示列表中所述渲染状态相同的几何对象相邻,所述渲染状态相同且所述贴图信息相同的几何对象相邻。According to the rendering state and the texture information of each of the geometric objects, sort all the geometric objects in the display list to obtain a sorted display list; wherein, the rendering in the sorted display list Geometric objects with the same state are adjacent, and geometric objects with the same rendering state and the same texture information are adjacent.
可选的,排序完成的显示列表中的全部所述几何对象按所述渲染状态相同的数量由大到小排列,且所述渲染状态相同的几何对象按所述贴图信息相同的数量由大到小排列。Optionally, all the geometric objects in the sorted display list are arranged in descending order according to the same number of rendering states, and the geometric objects with the same rendering state are arranged in descending order according to the same number of texture information. Small permutations.
可选的,所述根据所述排序结果和预设单批次对象数量,对全部所述几何对象进行分组封装,获取几何对象组,包括:Optionally, according to the sorting result and the preset number of objects in a single batch, all the geometric objects are grouped and packaged to obtain a geometric object group, including:
按照排序完成的显示列表的排序顺序,以所述预设单批次对象数量的几何对象为一组,将每组的全部几何对象的所述顶点数据上传到对应的一个顶点缓存中,并与所述贴图信息和所述渲染状态封装成所述几何对象组。According to the sort order of the sorted display list, the geometric objects with the preset number of objects in a single batch are used as a group, and the vertex data of all geometric objects in each group are uploaded to a corresponding vertex buffer, and shared with The texture information and the rendering state are encapsulated into the geometric object group.
可选的,所述根据每个所述几何对象组中的需求贴图数量和预设最大贴图数,创建批处理请求,包括:Optionally, the batch processing request is created according to the required number of textures and the preset maximum number of textures in each geometric object group, including:
判断当前几何对象组中剩余的几何对象对应的需求贴图数量是否大于预设所述预设最大贴图数;Judging whether the number of required textures corresponding to the remaining geometric objects in the current geometric object group is greater than the preset maximum number of textures;
若是,则按照当前几何对象组的排序顺序,从当前几何对象组中剩余的几何对象中选择所述预设最大贴图数的不同的所述贴图信息创建当前贴图列表,并根据当前贴图列表创建当前批处理请求,执行所述判断当前几何对象组中剩余的几何对象对应的需求贴图数量是否大于预设所述预设最大贴图数的步骤;If so, according to the sorting order of the current geometric object group, select the different texture information of the preset maximum texture number from the remaining geometric objects in the current geometric object group to create a current texture list, and create a current texture list according to the current texture list. Batch processing requests, executing the step of judging whether the number of required textures corresponding to the remaining geometric objects in the current geometric object group is greater than the preset maximum number of textures;
若否,则选择当前几何对象组中剩余的全部几何对象的所述贴图信息创建当前贴图列表,并根据当前贴图列表创建当前批处理请求。If not, select the texture information of all remaining geometric objects in the current geometric object group to create a current texture list, and create a current batch processing request according to the current texture list.
可选的,所述获取显示对象各自对应的几何对象,包括:Optionally, the acquisition of geometric objects corresponding to the display objects includes:
根据根节点容器,遍历全部所述显示对象;According to the root node container, traverse all the display objects;
将每个所述显示对象的所述渲染信息封装成各自对应的几何对象。Encapsulating the rendering information of each display object into respective corresponding geometric objects.
可选的,所述根据每个所述几何对象的所述渲染状态和所述贴图信息,对全部所述几何对象进行排序,得到排序结果之前,还包括:Optionally, the sorting of all the geometric objects according to the rendering state and the texture information of each geometric object, before obtaining the sorting result, further includes:
根据每个所述显示对象各自对应的原始舞台的层次,设置每个所述几何对象各自对应的舞台层次值。According to the level of the original stage corresponding to each of the display objects, the level value of the stage corresponding to each of the geometric objects is set.
本发明还提供了一种基于WebGL的2d引擎渲染装置,包括:The present invention also provides a 2d engine rendering device based on WebGL, comprising:
获取模块,用于获取显示对象各自对应的几何对象;其中,每个所述几何对象是由各自对应的显示对象的渲染信息封装的,所述渲染信息包括顶点数据、贴图信息和渲染状态;An acquisition module, configured to acquire geometric objects corresponding to each of the display objects; wherein, each of the geometric objects is encapsulated by rendering information of the respective corresponding display objects, and the rendering information includes vertex data, texture information and rendering status;
排序模块,用于根据每个所述几何对象的所述渲染状态和所述贴图信息,对全部所述几何对象进行排序,得到排序结果;其中,所述排序结果中所述渲染状态相同且所述贴图信息相同的几何对象相邻;A sorting module, configured to sort all the geometric objects according to the rendering state and the texture information of each geometric object, and obtain a sorting result; wherein, the rendering states in the sorting result are the same and all Geometric objects with the same texture information as described above are adjacent;
封装模块,用于根据所述排序结果和预设单批次对象数量,对全部所述几何对象进行分组封装,获取几何对象组;其中,每个所述几何对象组由各自对应的全部几何对象上传到同一顶点缓存中的所述顶点数据与所述贴图信息和所述渲染状态封装的;An encapsulation module, configured to group and encapsulate all the geometric objects according to the sorting result and the preset number of objects in a single batch to obtain geometric object groups; wherein, each geometric object group consists of all corresponding geometric objects The vertex data uploaded to the same vertex buffer is packaged with the texture information and the rendering state;
渲染模块,用于根据每个所述几何对象组的需求贴图数量和预设最大贴图数,创建批处理请求,并对每个批处理请求进行渲染;其中,所述需求贴图数量为对应的几何对象组中不同的所述贴图信息的数量。A rendering module, configured to create a batch processing request according to the required number of textures and a preset maximum number of textures for each geometric object group, and render each batch request; wherein, the required number of textures is the corresponding geometry The number of different said texture information in the object group.
本发明还提供了一种基于WebGL的2d引擎渲染设备,包括:The present invention also provides a 2d engine rendering device based on WebGL, comprising:
存储器,用于存储计算机程序;memory for storing computer programs;
处理器,用于执行所述计算机程序时实现如上述所述的基于WebGL的2d引擎渲染方法的步骤。The processor is configured to implement the steps of the WebGL-based 2d engine rendering method as described above when executing the computer program.
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的基于WebGL的2d引擎渲染方法的步骤。The present invention also provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the WebGL-based 2d engine rendering method as described above are realized .
本发明所提供的一种基于WebGL的2d引擎渲染方法,包括:获取显示对象各自对应的几何对象;其中,每个几何对象是由各自对应的显示对象的渲染信息封装的,渲染信息包括顶点数据、贴图信息和渲染状态;根据每个几何对象的渲染状态和贴图信息,对全部几何对象进行排序,得到排序结果;其中,排序结果中渲染状态相同的几何对象相邻,渲染状态相同且贴图信息相同的几何对象相邻;根据排序结果和预设单批次对象数量,对全部几何对象进行分组封装,获取几何对象组;其中,每个几何对象组由各自对应的全部几何对象上传到同一顶点缓存中的顶点数据与贴图信息和渲染状态封装的;根据每个几何对象组的需求贴图数量和预设最大贴图数,创建批处理请求,并对每个批处理请求进行渲染;其中,需求贴图数量为对应的几何对象组中不同的贴图信息的数量;A WebGL-based 2d engine rendering method provided by the present invention includes: obtaining geometric objects corresponding to display objects; wherein, each geometric object is encapsulated by the rendering information of the corresponding display object, and the rendering information includes vertex data , texture information and rendering status; according to the rendering status and texture information of each geometric object, sort all the geometric objects to get the sorting result; among them, the geometric objects with the same rendering status in the sorting result are adjacent, the rendering status is the same and the texture information The same geometric objects are adjacent; according to the sorting result and the preset number of objects in a single batch, all geometric objects are grouped and packaged to obtain geometric object groups; each geometric object group is uploaded to the same vertex by all corresponding geometric objects The vertex data in the cache is encapsulated with texture information and rendering state; according to the number of required textures of each geometric object group and the preset maximum number of textures, a batch processing request is created and each batch processing request is rendered; among them, the required texture The quantity is the quantity of different texture information in the corresponding geometric object group;
可见,本发明通过根据每个几何对象的渲染状态和贴图信息,对全部几何对象进行排序,可以将渲染状态相同且需要使用相同贴图进行渲染的几何对象相邻,从而保证了利用硬件渲染批处理请求时的渲染效果,提高了渲染效率和渲染性能,提升了用户体验。此外,本发明还提供了一种基于WebGL的2d引擎渲染装置、设备及计算机可读存储介质,同样具有上述有益效果。It can be seen that, by sorting all the geometric objects according to the rendering state and texture information of each geometric object, the present invention can make the geometric objects with the same rendering state and need to use the same texture for rendering adjacent to each other, thereby ensuring the utilization of hardware rendering batch processing The rendering effect at the time of request improves rendering efficiency and rendering performance, and improves user experience. In addition, the present invention also provides a WebGL-based 2d engine rendering device, equipment and computer-readable storage medium, which also have the above beneficial effects.
附图说明Description of drawings
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only It is an embodiment of the present invention, and those skilled in the art can also obtain other drawings according to the provided drawings without creative work.
图1为本发明实施例所提供的一种基于WebGL的2d引擎渲染方法的流程图;Fig. 1 is a flow chart of a WebGL-based 2d engine rendering method provided by an embodiment of the present invention;
图2为本发明实施例所提供的另一种基于WebGL的2d引擎渲染方法的流程示意图;FIG. 2 is a schematic flow diagram of another WebGL-based 2d engine rendering method provided by an embodiment of the present invention;
图3为本发明实施例所提供的一种基于WebGL的2d引擎渲染装置的结构框图;FIG. 3 is a structural block diagram of a WebGL-based 2d engine rendering device provided by an embodiment of the present invention;
图4为本发明实施例所提供的一种基于WebGL的2d引擎渲染设备的结构示意图。FIG. 4 is a schematic structural diagram of a WebGL-based 2d engine rendering device provided by an embodiment of the present invention.
具体实施方式Detailed ways
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments It is a part of embodiments of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.
请参考图1,图1为本发明实施例所提供的一种基于WebGL的2d引擎渲染方法的流程图。该方法可以包括:Please refer to FIG. 1 . FIG. 1 is a flowchart of a WebGL-based 2d engine rendering method provided by an embodiment of the present invention. The method can include:
步骤101:获取显示对象各自对应的几何对象;其中,每个几何对象是由各自对应的显示对象的渲染信息封装的,渲染信息包括顶点数据、贴图信息和渲染状态。Step 101: Obtain geometric objects corresponding to the respective display objects; wherein, each geometric object is encapsulated by rendering information of the respective corresponding display objects, and the rendering information includes vertex data, texture information and rendering status.
可以理解的是,运行有基于WebGL的2d引擎(即WebGL 2d引擎)的处理器会以固定帧频每秒进行多次渲染,本实施例是以处理器的每帧渲染为例进行的展示。It can be understood that a processor running a WebGL-based 2d engine (ie, a WebGL 2d engine) will perform multiple renderings per second at a fixed frame rate, and this embodiment uses the rendering of each frame of the processor as an example for demonstration.
其中,本步骤中的几何对象(Geometry)封装有对应的显示对象(Sprite)的进行渲染时所需要的信息,即渲染信息,如顶点数据、贴图信息和渲染状态等。Wherein, the geometry object (Geometry) in this step encapsulates information required for rendering of the corresponding display object (Sprite), that is, rendering information, such as vertex data, texture information, and rendering status.
具体的,本步骤中处理器可以获取当前帧渲染锁对应的全部显示对象各自对应的几何对象。对于本步骤中处理器获取显示对象各自对应的几何对象的具体方式,可以由设计人员根据使用场景和用户需求自行设置,如处理器可以根据根(Root)节点容器,遍历全部显示对象;将每个显示对象的渲染信息封装成各自对应的几何对象。只要处理器可以获取当前帧渲染所对应的全部显示对象各自对应的几何对象,本实施例对此不做任何限制。Specifically, in this step, the processor may acquire geometric objects corresponding to all display objects corresponding to the rendering lock of the current frame. In this step, the specific way for the processor to obtain the corresponding geometric objects of the display objects can be set by the designer according to the usage scenario and user needs. For example, the processor can traverse all the display objects according to the root (Root) node container; The rendering information of each display object is encapsulated into their corresponding geometric objects. As long as the processor can acquire the geometric objects corresponding to all the display objects corresponding to the current frame rendering, this embodiment does not impose any limitation on this.
步骤102:根据每个几何对象的渲染状态和贴图信息,对全部几何对象进行排序,得到排序结果;其中,排序结果中渲染状态相同且贴图信息相同的几何对象相邻。Step 102: According to the rendering state and texture information of each geometric object, sort all the geometric objects to obtain a sorting result; wherein in the sorting result, the geometric objects with the same rendering state and the same texture information are adjacent.
可以理解的是,本步骤的目的可以通过对全部几何对象的排序,使排序完成后渲染状态相同且贴图信息相同的几何对象相邻,从而使后续渲染的批处理请求对应的几何对象中渲染状态相同且需要使用同一贴图的几何对象相邻,保证了渲染的效果。It can be understood that the purpose of this step can be to sort all the geometric objects so that geometric objects with the same rendering status and the same texture information are adjacent to each other after the sorting is completed, so that the rendering status of the geometric objects corresponding to subsequent rendering batch processing requests The geometric objects that are the same and need to use the same texture are adjacent to each other to ensure the rendering effect.
具体的,对于本步骤中处理器根据每个几何对象的渲染状态和贴图信息,对全部几何对象进行排序,得到排序结果的具体方式,可以由设计人员自行设置,如可以将全部几何对象放入到预先设置的队列,即显示队列,然后在显示队列中根据几何对象的渲染状态的贴图信息进行排列,使相同的渲染状态且贴图信息相同(即渲染时使用相同贴图)的几何对象相邻;对应的,显示队列中相同的渲染状态的几何对象也可以相邻,即本步骤中的排序结果中渲染状态相同的几何对象相邻,而且渲染状态相同且贴图信息相同的几何对象相邻。也就是说,本步骤可以包括:根据每个几何对象的渲染状态和贴图信息,在显示列表中全部几何对象进行排序,得到排序完成的显示列表的步骤;其中,排序完成的显示列表中渲染状态相同的几何对象相邻,渲染状态相同且贴图信息相同的几何对象相邻。Specifically, in this step, the processor sorts all the geometric objects according to the rendering state and texture information of each geometric object, and the specific way to obtain the sorting results can be set by the designer, for example, all the geometric objects can be put into Go to the preset queue, that is, the display queue, and then arrange in the display queue according to the texture information of the rendering state of the geometric objects, so that the geometric objects with the same rendering state and the same texture information (that is, use the same texture when rendering) are adjacent; Correspondingly, geometric objects with the same rendering state in the display queue can also be adjacent, that is, geometric objects with the same rendering state are adjacent in the sorting result in this step, and geometric objects with the same rendering state and the same texture information are adjacent. That is to say, this step may include: according to the rendering state and texture information of each geometric object, sort all the geometric objects in the display list to obtain a sorted display list; wherein, the rendering state in the sorted display list The same geometric objects are adjacent, and the geometric objects with the same rendering state and the same texture information are adjacent.
进一步的,排序完成的显示列表中的全部几何对象可以按渲染状态相同的数量由大到小排列,且渲染状态相同的几何对象可以按贴图信息相同的数量由大到小排列。Further, all the geometric objects in the sorted display list can be arranged in descending order according to the same number of rendering states, and the geometric objects with the same rendering state can be arranged in descending order of the same number of texture information.
对应的,本步骤之前还可以包括根据每个显示对象各自对应的原始舞台的层次,设置每个几何对象各自对应的舞台层次值的步骤,以保证后续完成显示对象的渲染后,可以根据几何对象各自对应的舞台层次值,将每个显示对象对应的渲染结果放回到舞台层次值对应的原始舞台的层次。如图2所示,在将全部几何对象(Geometry)放入到显示队列时,可以根据每个几何对象对应的显示对象(Sprite)在原始舞台的层次,设置不同z值(即舞台层次值)。Correspondingly, before this step, it may also include the step of setting the stage level value corresponding to each geometric object according to the level of the original stage corresponding to each display object, so as to ensure that after the subsequent rendering of the display object is completed, it can be based on the geometric object Each corresponding stage level value, put the rendering result corresponding to each display object back to the original stage level corresponding to the stage level value. As shown in Figure 2, when putting all geometric objects (Geometry) into the display queue, you can set different z values (that is, stage level values) according to the level of the original stage of the display object (Sprite) corresponding to each geometric object. .
步骤103:根据排序结果和预设单批次对象数量,对全部几何对象进行分组封装,获取几何对象组;其中,每个几何对象组由各自对应的全部几何对象上传到同一顶点缓存中的顶点数据与贴图信息和渲染状态封装的。Step 103: According to the sorting result and the preset number of objects in a single batch, group and package all geometric objects to obtain geometric object groups; wherein, each geometric object group is uploaded to the vertices in the same vertex buffer by all corresponding geometric objects Data is encapsulated with texture information and render state.
可以理解的是,本步骤中的预设单批次对象数量可以为预先设置的WebGL 2d引擎的最大单批次对象数据(BATCH_GEOMETRY)。本步骤的目的可以为按照排序结果,根据预设单批次对象数量把全部几何对象封装成一个或多个几何对象组(GeometryGroup);即按照排序结果依次将预设单批次对象数量的几何对象封装成一个几何对象组。It can be understood that the preset number of single-batch objects in this step may be the preset maximum single-batch object data (BATCH_GEOMETRY) of the WebGL 2d engine. The purpose of this step can be to encapsulate all geometric objects into one or more geometric object groups (GeometryGroup) according to the number of objects in a preset single batch according to the sorting results; Objects are packaged into a geometry object group.
例如,本步骤中排序结果为排序完成的显示列表时,处理器可以按照排序顺序以预设单批次对象数量的几何对象为一组,将每组的全部几何对象的顶点数据上传到对应的一个顶点缓存中,并与贴图信息和渲染状态封装成几何对象组。For example, when the sorting result in this step is a sorted display list, the processor can use the preset number of geometric objects in a single batch as a group according to the sorting order, and upload the vertex data of all geometric objects in each group to the corresponding In a vertex buffer, it is encapsulated into a geometric object group with texture information and rendering state.
步骤104:根据每个几何对象组的需求贴图数量和预设最大贴图数,创建批处理请求,并对每个批处理请求进行渲染;其中,需求贴图数量为对应的几何对象组中不同的贴图信息的数量。Step 104: Create a batch processing request according to the required number of textures and the preset maximum number of textures for each geometric object group, and render each batch processing request; wherein, the required number of textures is different textures in the corresponding geometric object group the amount of information.
需要说明的是,本步骤中的预设最大贴图数可以为预先设置的硬件(如显卡GPU)支持的单个片段着色器支持的最大贴图数(MAX_TEXTURE)。本步骤的目的可以为根据预设最大贴图数和每个几何对象组实际的需求贴图数量,将每个几何对象组封装成一个或多个批处理请求(BatchDrawCall),即每个批处理请求对应的全部几何对象的数量小于或等于预设单批次对象数量,每个批处理请求对应的全部几何对象的需求贴图数量(即不同的贴图信息的数量)小于或等于预设最大贴图数;从而对批处理请求进行渲染,实现渲染的合批处理,即将多个需要渲染的对象合并且一次性提交到硬件进行渲染,从而提高渲染性能。It should be noted that the preset maximum number of textures in this step may be the maximum number of textures (MAX_TEXTURE) supported by a single fragment shader supported by preset hardware (such as a graphics card GPU). The purpose of this step can be to encapsulate each geometric object group into one or more batch processing requests (BatchDrawCall) according to the preset maximum number of textures and the actual required texture number of each geometric object group, that is, each batch processing request corresponds to The number of all geometric objects is less than or equal to the preset number of objects in a single batch, and the number of textures required for all geometric objects corresponding to each batch processing request (that is, the number of different texture information) is less than or equal to the preset maximum number of textures; thus Render batch requests to achieve batch rendering, that is, to combine multiple objects that need to be rendered and submit them to the hardware for rendering at one time, thereby improving rendering performance.
可以理解的是,对于本步骤中处理器根据每个几何对象组的需求贴图数量和预设最大贴图数,创建批处理请求的具体方式,可以由设计人员自行设置,如可以遍历全部几何对象组,如果几何对象组中所有几何对象所需使用的贴图数量超过预设最大贴图数,则以预设最大贴图数为一组创建贴图列表,并根据该贴图列表创建批处理请求;如果没有超过预设最大贴图数,则把几何对象组所需要的全部贴图放入贴图列表并创建一个批处理请求。It can be understood that, in this step, the processor can create a batch processing request according to the number of required textures of each geometric object group and the preset maximum number of textures, which can be set by the designer. For example, it is possible to traverse all geometric object groups , if the number of textures required by all geometric objects in the geometric object group exceeds the preset maximum number of textures, create a texture list with the preset maximum number of textures as a group, and create a batch processing request based on the texture list; Set the maximum number of textures, then put all the textures required by the geometric object group into the texture list and create a batch request.
也就是说,本步骤中可以包括:判断当前几何对象组中剩余的几何对象对应的需求贴图数量是否大于预设最大贴图数;其中,当前几何对象组为当前处理的任一几何对象组;若是,则按照当前几何对象组的排序顺序,从当前几何对象组中剩余的几何对象中选择预设最大贴图数的不同的贴图信息创建当前贴图列表,并根据当前贴图列表创建当前批处理请求,执行判断当前几何对象组中剩余的几何对象对应的需求贴图数量是否大于预设最大贴图数的步骤,继续处理当前几何对象组剩余的几何对象;若否,则选择当前几何对象组中剩余的全部几何对象的贴图信息创建当前贴图列表,并根据当前贴图列表创建当前批处理请求。That is to say, this step may include: judging whether the number of required textures corresponding to the remaining geometric objects in the current geometric object group is greater than the preset maximum number of textures; wherein, the current geometric object group is any geometric object group currently processed; if , according to the sorting order of the current geometric object group, select different texture information with a preset maximum number of textures from the remaining geometric objects in the current geometric object group to create the current texture list, and create the current batch processing request according to the current texture list, execute The step of judging whether the number of required textures corresponding to the remaining geometric objects in the current geometric object group is greater than the preset maximum number of textures, and continue to process the remaining geometric objects in the current geometric object group; if not, select all the remaining geometric objects in the current geometric object group The object's texture information creates the current texture list, and creates the current batch processing request based on the current texture list.
具体的,本步骤中的处理器对每个批处理请求进行渲染,可以为处理器利用如GPU的硬件对每个批处理请求进行渲染。对应的,本步骤还可以包括向进行渲染的硬件上传贴图的步骤,例如处理器可以遍历所有批处理请求,在利用硬件对每个批处理请求进行渲染之前,可以判断是否向硬件上传过批处理请求所需的贴图;若未上传过贴图,则上传贴图,并渲染该批处理请求;若已上传过贴图,可以直接渲染该批处理请求,避免重复上传。Specifically, the processor in this step renders each batch request, and the processor may use hardware such as a GPU to render each batch request. Correspondingly, this step may also include the step of uploading textures to the hardware for rendering. For example, the processor may traverse all batch processing requests, and before using the hardware to render each batch processing request, it may determine whether the batch processing has been uploaded to the hardware. Request the desired texture; if the texture has not been uploaded, upload the texture and render the batch request; if the texture has been uploaded, you can directly render the batch request to avoid repeated uploads.
本实施例中,本发明实施例通过根据每个几何对象的渲染状态和贴图信息,对全部几何对象进行排序,可以将渲染状态相同且需要使用相同贴图进行渲染的几何对象相邻,从而保证了利用硬件渲染批处理请求时的渲染效果,提高了渲染效率和渲染性能,提升了用户体验。In this embodiment, the embodiment of the present invention sorts all the geometric objects according to the rendering state and texture information of each geometric object, so that the geometric objects that have the same rendering state and need to use the same texture for rendering can be adjacent to each other, thus ensuring Utilize hardware to render the rendering effect of batch processing requests, improve rendering efficiency and rendering performance, and improve user experience.
请参考图3,图3为本发明实施例所提供的一种基于WebGL的2d引擎渲染装置的结构框图。该装置可以包括:Please refer to FIG. 3 , which is a structural block diagram of a WebGL-based 2d engine rendering device provided by an embodiment of the present invention. The device can include:
获取模块10,用于获取显示对象各自对应的几何对象;其中,每个几何对象是由各自对应的显示对象的渲染信息封装的,渲染信息包括顶点数据、贴图信息和渲染状态;The acquiring
排序模块20,用于根据每个几何对象的渲染状态和贴图信息,对全部几何对象进行排序,得到排序结果;其中,排序结果中渲染状态相同且贴图信息相同的几何对象相邻;The sorting
封装模块30,用于根据排序结果和预设单批次对象数量,对全部几何对象进行分组封装,获取几何对象组;其中,每个几何对象组由各自对应的全部几何对象上传到同一顶点缓存中的顶点数据与贴图信息和渲染状态封装的;The
渲染模块40,用于根据每个几何对象组的需求贴图数量和预设最大贴图数,创建批处理请求,并对每个批处理请求进行渲染;其中,需求贴图数量为对应的几何对象组中不同的贴图信息的数量。The
可选的,排序模块20可以具体用于将全部几何对象放入到显示列表;根据每个几何对象的渲染状态和贴图信息,在显示列表中全部几何对象进行排序,得到排序完成的显示列表;其中,排序完成的显示列表中渲染状态相同的几何对象相邻,渲染状态相同且贴图信息相同的几何对象相邻。Optionally, the sorting
可选的,排序完成的显示列表中的全部几何对象按渲染状态相同的数量由大到小排列,且渲染状态相同的几何对象按贴图信息相同的数量由大到小排列。Optionally, all the geometric objects in the sorted display list are arranged in descending order according to the same number of rendering states, and the geometric objects with the same rendering state are arranged in descending order according to the same number of texture information.
可选的,封装模块30可以具体用于按照排序完成的显示列表的排序顺序,以预设单批次对象数量的几何对象为一组,将每组的全部几何对象的顶点数据上传到对应的一个顶点缓存中,并与贴图信息和渲染状态封装成几何对象组。Optionally, the
可选的,渲染模块40,可以包括:Optionally, the
判断子模块,用于判断当前几何对象组中剩余的几何对象对应的需求贴图数量是否大于预设最大贴图数;The judging sub-module is used to judge whether the number of required textures corresponding to the remaining geometric objects in the current geometric object group is greater than the preset maximum number of textures;
第一创建子模块,用于若大于预设最大贴图数,则按照当前几何对象组的排序顺序,从当前几何对象组中剩余的几何对象中选择预设最大贴图数的不同的贴图信息创建当前贴图列表,并根据当前贴图列表创建当前批处理请求,向判断子模块发送启动信号;The first creation sub-module is used to select different texture information with the preset maximum number of textures from the remaining geometric objects in the current geometric object group according to the sorting order of the current geometric object group to create the current map list, and create a current batch processing request according to the current map list, and send a start signal to the judging sub-module;
第一创建子模块,用若不大于预设最大贴图数,则选择当前几何对象组中剩余的全部几何对象的贴图信息创建当前贴图列表,并根据当前贴图列表创建当前批处理请求。The first creation sub-module uses the texture information of all remaining geometric objects in the current geometric object group to create a current texture list if it is not greater than the preset maximum number of textures, and creates a current batch processing request based on the current texture list.
可选的,获取模块10,可以包括:Optionally, the
遍历子模块,用于根据根节点容器,遍历全部显示对象;Traverse submodules, used to traverse all display objects according to the root node container;
封装子模块,用于将每个显示对象的渲染信息封装成各自对应的几何对象。The encapsulation sub-module is used to encapsulate the rendering information of each display object into their corresponding geometric objects.
可选的,该装置还可以包括:Optionally, the device may also include:
层次设置模块,用于根据每个显示对象各自对应的原始舞台的层次,设置每个几何对象各自对应的舞台层次值。The layer setting module is configured to set the stage layer value corresponding to each geometric object according to the original stage layer corresponding to each display object.
本实施例中,本发明实施例通过排序模块20根据每个几何对象的渲染状态和贴图信息,对全部几何对象进行排序,可以将渲染状态相同且需要使用相同贴图进行渲染的几何对象相邻,从而保证了利用硬件渲染批处理请求时的渲染效果,提高了渲染效率和渲染性能,提升了用户体验。In this embodiment, the embodiment of the present invention uses the
请参考图4,图4为本发明实施例所提供的一种基于WebGL的2d引擎渲染设备的结构示意图;该设备1可以包括:Please refer to FIG. 4, which is a schematic structural diagram of a WebGL-based 2d engine rendering device provided by an embodiment of the present invention; the device 1 may include:
存储器11,用于存储计算机程序;处理器12,用于执行该计算机程序时实现如上述实施例所提供的基于WebGL的2d引擎渲染方法的步骤。The
在本实施例中,设备1可以是PC(Personal Computer,个人电脑),也可以是平板电脑、便携计算机、服务器等终端设备。In this embodiment, the device 1 may be a PC (Personal Computer, personal computer), or may be a terminal device such as a tablet computer, a portable computer, or a server.
该设备1可以包括存储器11、处理器12和总线13。The device 1 may include a
其中,存储器11至少包括一种类型的可读存储介质,该可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是设备1的内部存储单元,例如该设备1的硬盘。存储器11在另一些实施例中也可以是设备1的外部存储设备,例如设备1上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括设备1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于设备1的应用软件及各类数据,例如:执行基于WebGL的2d引擎渲染方法的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。Wherein, the
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行基于WebGL的2d引擎渲染方法的程序的代码等。In some embodiments, the
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。The
进一步地,设备还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备1与其他电子设备之间建立通信连接。Further, the device may also include a
可选地,该设备1还可以包括用户接口15,用户接口15可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口15还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备1中处理的信息以及用于显示可视化的用户界面。Optionally, the device 1 may also include a
图4仅示出了具有组件11-15的设备1,本领域技术人员可以理解的是,图4示出的结构并不构成对设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。Figure 4 only shows the device 1 with components 11-15, those skilled in the art can understand that the structure shown in Figure 4 does not constitute a limitation on the device 1, and may include fewer or more components, or combinations of certain components, or different arrangements of components.
此外,本发明实施例还公开了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述实施例所提供的基于WebGL的2d引擎渲染方法的步骤。In addition, the embodiment of the present invention also discloses a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the WebGL-based 2d engine provided by the above-mentioned embodiment is implemented. The steps of the render method.
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。Wherein, the storage medium may include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk, etc., which can store program codes. medium.
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。Each embodiment in the description is described in a progressive manner, each embodiment focuses on the difference from other embodiments, and the same and similar parts of each embodiment can be referred to each other. As for the device, equipment and computer-readable storage medium disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and for relevant details, please refer to the description of the method part.
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。Professionals can further realize that the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, computer software or a combination of the two. In order to clearly illustrate the possible For interchangeability, in the above description, the composition and steps of each example have been generally described according to their functions. Whether these functions are executed by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the present invention.
以上对本发明所提供的一种基于WebGL的2d引擎渲染方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。A WebGL-based 2d engine rendering method, device, equipment, and computer-readable storage medium provided by the present invention are described above in detail. In this paper, specific examples are used to illustrate the principle and implementation of the present invention, and the descriptions of the above embodiments are only used to help understand the method and core idea of the present invention. It should be pointed out that for those skilled in the art, without departing from the principle of the present invention, some improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the protection scope of the claims of the present invention.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010279091.2A CN111476858B (en) | 2020-04-10 | 2020-04-10 | A 2D engine rendering method, device and equipment based on WebGL |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010279091.2A CN111476858B (en) | 2020-04-10 | 2020-04-10 | A 2D engine rendering method, device and equipment based on WebGL |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111476858A CN111476858A (en) | 2020-07-31 |
| CN111476858B true CN111476858B (en) | 2023-03-14 |
Family
ID=71751795
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010279091.2A Active CN111476858B (en) | 2020-04-10 | 2020-04-10 | A 2D engine rendering method, device and equipment based on WebGL |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111476858B (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112348962B (en) * | 2020-11-30 | 2022-05-27 | 久瓴(江苏)数字智能科技有限公司 | Model component clicking method and device, computer equipment and storage medium |
| CN112614041B (en) * | 2020-12-29 | 2022-10-25 | 完美世界(北京)软件科技发展有限公司 | Data driving method and device for sparse rendering, storage medium and electronic device |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8325177B2 (en) * | 2008-12-29 | 2012-12-04 | Microsoft Corporation | Leveraging graphics processors to optimize rendering 2-D objects |
| US20180302468A1 (en) * | 2016-03-14 | 2018-10-18 | Ebay Inc. | System and method for delegating content processing |
| CN106504185B (en) * | 2016-10-26 | 2020-04-07 | 腾讯科技(深圳)有限公司 | Rendering optimization method and device |
| KR102651126B1 (en) * | 2016-11-28 | 2024-03-26 | 삼성전자주식회사 | Graphic processing apparatus and method for processing texture in graphics pipeline |
| CN107463398B (en) * | 2017-07-21 | 2018-08-17 | 腾讯科技(深圳)有限公司 | Game rendering intent, device, storage device and terminal |
| US12135969B2 (en) * | 2018-07-20 | 2024-11-05 | Dh Technologies Development Pte. Ltd. | Electromagnetic coil assembly structure for processing fluids and methods for making same |
| CN109509247A (en) * | 2018-09-21 | 2019-03-22 | 苏州蜗牛数字科技股份有限公司 | A method of support the geometry of light-maps instantiates to draw |
| CN110717963B (en) * | 2019-08-30 | 2023-08-11 | 杭州群核信息技术有限公司 | Mixed rendering display method, system and storage medium of replaceable model based on WebGL |
-
2020
- 2020-04-10 CN CN202010279091.2A patent/CN111476858B/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CN111476858A (en) | 2020-07-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9928637B1 (en) | Managing rendering targets for graphics processing units | |
| CN108563517B (en) | Calling method and device of system interface | |
| CN103678631B (en) | page rendering method and device | |
| CN111292387B (en) | Dynamic picture loading method, device, storage medium and terminal equipment | |
| CN110750664B (en) | Picture display method and device | |
| CN110990516A (en) | Map data processing method and device and server | |
| CN112316433B (en) | Game picture rendering method, device, server and storage medium | |
| US20150310642A1 (en) | Atlas generation based on client video configuration | |
| US20230403437A1 (en) | Graphics engine and graphics processing method applicable to player | |
| CN111460342B (en) | Page rendering display method and device, electronic equipment and computer storage medium | |
| CN111476858B (en) | A 2D engine rendering method, device and equipment based on WebGL | |
| WO2021146930A1 (en) | Display processing method, display processing apparatus, electronic device and storage medium | |
| WO2023197762A1 (en) | Image rendering method and apparatus, electronic device, computer-readable storage medium, and computer program product | |
| WO2024169368A1 (en) | Map rendering method, apparatus and device, and program product | |
| CN114663568B (en) | Material conversion method, device, computer equipment and medium | |
| CN114528515A (en) | Model rendering method and device, electronic equipment and computer readable storage medium | |
| CN112991505B (en) | Online 3D rendering method | |
| CN117093208A (en) | An animation style updating method, device, terminal equipment and storage medium | |
| CN115880123A (en) | Watermark generation method and device | |
| CN114648610A (en) | A WebGL-based 3D rendering method, device and electronic device for cigarette packaging | |
| CN112416489A (en) | Engineering drawing display method and related device | |
| US20250299281A1 (en) | Graphics processing | |
| CN118823198A (en) | User interface rendering method, device, system, mobile terminal and storage medium | |
| CN119888039A (en) | Rendering method, device, equipment, system, chip and medium | |
| CN115392195A (en) | Data format conversion method, device, equipment and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |