A streaming rendering method, device, equipment and medium

By vertex hierarchically processing the three-dimensional model, first-level and second-level vertices are obtained, and streaming rendering is performed, the problem of poor streaming rendering of three-dimensional models in the existing technology is solved, and efficient and reliable rendering effect is achieved.

CN119762658APending Publication Date: 2025-04-04湖南芒果融创科技有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411821057.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-04-04

AI Technical Summary

Technical Problem

Existing three-dimensional model streaming rendering technologies have poor reliability and lack of general solutions, which lead to inability to use across renderers and often require destructive simplification, increasing storage and computing costs.

Method used

By obtaining the height of each vertex of the target three-dimensional model, calculate the average height of adjacent vertices of each vertex, determine the prominent vertex, and obtain the first-level vertex based on the prominent vertex, use the vertices other than the first-level vertex as the second-level vertex to stream rendering to realize hierarchical rendering of the three-dimensional model.

Benefits of technology

Without destroying the 3D model mesh structure, reduce the computational cost of streaming rendering, improve rendering reliability, and implement a universal solution across renderers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119762658A_ABST
    Figure CN119762658A_ABST
Patent Text Reader

Abstract

The present application relates to the field of three-dimensional rendering technology, and provides a streaming rendering method, device, equipment and medium. The method includes: obtaining the height of each vertex of the target three-dimensional model; calculating the average height of each vertex based on the heights of all adjacent vertices of each vertex, and determining multiple protruding vertices from all vertices based on all average heights; obtaining a first-level vertex from all vertices based on the protruding vertex for each protruding vertex; treating all other vertices except the first-level vertex as second-level vertices, and performing streaming rendering based on all first-level vertices and all second-level vertices to obtain the rendering result of the target three-dimensional model. The method of the present application can improve the reliability of streaming rendering.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of three-dimensional rendering technology, and in particular to a streaming rendering method, device, equipment and medium. Background Art

[0002] Streaming rendering is a common technology in computer graphics, mainly used to process large-scale data sets, especially in video, image and graphics rendering. Streaming rendering emphasizes the instant transmission and gradual display of data during processing and rendering, rather than waiting for all data to be loaded before rendering. It is often used in application scenarios that require real-time or near real-time display of images, such as video streaming, real-time 3D rendering, and graphics rendering in cloud computing.

[0003] A similar technique is level of detail (LOD), which uses vertex merging, edge folding and other methods to destructively simplify the mesh to achieve different levels and details. It is usually applied to specific rendering engines, and the implementation details of each engine are different.

[0004] The current streaming rendering technology for 3D models lacks a universal solution and is often not usable across renderers. In addition, the model is usually destructively simplified, which increases storage and computing costs. Therefore, the current streaming rendering method has the problem of poor reliability. Summary of the invention

[0005] The present application provides a streaming rendering method, apparatus, device and medium, which can solve the problem of poor reliability of streaming rendering.

[0006] In a first aspect, an embodiment of the present application provides a streaming rendering method, the streaming rendering method comprising:

[0007] Get the height of each vertex of the target 3D model;

[0008] The average height of the adjacent vertices of each vertex is calculated based on the heights of all the adjacent vertices of each vertex, and a plurality of prominent vertices are determined from all the vertices according to the average height of all the adjacent vertices; the prominent vertex is a vertex whose difference between the height of the vertex and the average height of the adjacent vertices meets a preset height condition;

[0009] For each protruding vertex, obtain a first-level vertex from all vertices based on the protruding vertex; the first-level vertex is the corresponding protruding vertex or at least one vertex around the protruding vertex;

[0010] All other vertices except the first-level vertices are regarded as second-level vertices, and streaming rendering is performed according to all the first-level vertices and all the second-level vertices to obtain the rendering result of the target three-dimensional model.

[0011] Optionally, the average height of the adjacent vertices of each vertex is calculated based on the heights of all adjacent vertices of each vertex, including:

[0012] By formula:

[0013]

[0014] Calculate the average height H of the adjacent vertices of the i-th vertex avg (v i );

[0015] Among them, N(v i ) represents the number of all adjacent vertices of the i-th vertex, y j represents the height of the jth adjacent vertex, i=1,2,...,I, where I represents the number of vertices of the target 3D model.

[0016] Optionally, the preset height condition is greater than the height difference threshold:

[0017] According to the average height of all adjacent vertices, multiple prominent vertices are determined from all vertices, including:

[0018] For each vertex, perform the following steps:

[0019] Calculate the height difference between the height of a vertex and the average height of its adjacent vertices;

[0020] If the height difference meets the preset height condition, the vertex is regarded as a prominent vertex.

[0021] Optionally, the height difference between the height of the vertex and the average height of the vertex's adjacent vertices is calculated, including:

[0022] By formula:

[0023] ΔH(v i )=|y i -H avg (v i )|

[0024] Calculate the height difference ΔH(v i );

[0025] Among them, y i represents the height of the i-th vertex, H avg (v i ) represents the average height of the adjacent vertices of the i-th vertex, i = 1, 2, ..., I, and I represents the number of vertices of the target three-dimensional model.

[0026] Optionally, get first-level vertices from all vertices based on the protruding vertices, including:

[0027] When the number of adjacent vertices of a prominent vertex is greater than or equal to the quantity threshold, and none of the adjacent vertices are prominent vertices, multiple first-level vertices are determined from all adjacent vertices, and the number of first-level vertices is equal to the quantity threshold;

[0028] When the number of adjacent vertices of a prominent vertex is less than the number threshold, and none of the adjacent vertices are prominent vertices, a first-level vertex is determined from all adjacent vertices;

[0029] When there is a protruding vertex among the adjacent vertices of the protruding vertex, the protruding vertex is regarded as a primary vertex.

[0030] Optionally, after the step of acquiring a first-level vertex from all vertices based on the protruding vertex for each protruding vertex, the streaming rendering method further includes:

[0031] Mark all first-level vertices and take level n as the current level of the vertex, and take all other vertices except the first-level vertex as candidate vertices; n = 2;

[0032] Determine multiple vertices corresponding to the current level from all candidate vertices, mark all vertices corresponding to the current level, and determine whether the current level reaches the preset level;

[0033] If so, take all unmarked vertices among the candidate vertices as the vertices corresponding to n+1;

[0034] Otherwise, take n+1 as the current level, take all unmarked vertices among the candidate vertices as all candidate vertices, return to the step of determining multiple vertices corresponding to the current level from all candidate vertices, mark all vertices corresponding to the current level, and judge whether the current level reaches the preset level.

[0035] Optionally, the streaming rendering method also includes:

[0036] Stream rendering is performed according to all graded vertices to obtain a rendering result of the target three-dimensional model.

[0037] In a second aspect, an embodiment of the present application provides a streaming rendering device, including:

[0038] A first acquisition module is used to acquire the height of each vertex of the target three-dimensional model;

[0039] A calculation module, used to calculate the average height of adjacent vertices of each vertex based on the heights of all adjacent vertices of each vertex, and determine a plurality of prominent vertices from all vertices according to the average height of all adjacent vertices; a prominent vertex is a vertex whose difference between the height of the vertex and the average height of the adjacent vertices meets a preset height condition;

[0040] A second acquisition module is used to acquire a first-level vertex from all vertices based on each protruding vertex; the first-level vertex is the corresponding protruding vertex or at least one vertex around the protruding vertex;

[0041] The streaming rendering module is used to treat all other vertices except the first-level vertices as second-level vertices, and perform streaming rendering according to all the first-level vertices and all the second-level vertices to obtain the rendering result of the target three-dimensional model.

[0042] In a third aspect, an embodiment of the present application provides a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned streaming rendering method when executing the above-mentioned computer program.

[0043] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the above-mentioned streaming rendering method is implemented.

[0044] The above solution of the present application has the following beneficial effects:

[0045] In some embodiments of the present application, the height of each vertex of the target three-dimensional model is obtained, and then the average height of the adjacent vertices of each vertex is calculated based on the height of all adjacent vertices of each vertex, and multiple protruding vertices are determined from all vertices based on the average height of all adjacent vertices, and then for each protruding vertex, the first-level vertex is obtained from all vertices based on the protruding vertex, and finally all other vertices except the first-level vertex are used as second-level vertices, and streaming rendering is performed based on all first-level vertices and all second-level vertices to obtain the rendering result of the target three-dimensional model. Among them, the vertices of the target three-dimensional model are graded, and there is no need to perform operations such as vertex merging and edge folding, so that the streaming rendering of the target three-dimensional model is realized without destroying the grid structure of the target three-dimensional model, reducing the computational cost of streaming rendering and improving the reliability of streaming rendering.

[0046] Other beneficial effects of the present application will be described in detail in the subsequent specific implementation section. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0048] Figure 1 A flowchart of a streaming rendering method provided in one embodiment of the present application;

[0049] Figure 2 A schematic diagram of the structure of a streaming rendering device provided in one embodiment of the present application;

[0050] Figure 3 A schematic diagram of the structure of a terminal device provided in one embodiment of the present application. DETAILED DESCRIPTION

[0051] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.

[0052] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.

[0053] It should also be understood that the term “and / or” used in the specification and appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0054] As used in the specification and appended claims of this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.

[0055] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.

[0056] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0057] In order to solve the problem of poor reliability of existing streaming rendering, an embodiment of the present application provides a streaming rendering method, which obtains the height of each vertex of the target three-dimensional model, and then calculates the average height of the adjacent vertices of each vertex based on the height of all adjacent vertices of each vertex, and determines multiple protruding vertices from all vertices based on the average height of all adjacent vertices, and then obtains the first-level vertex from all vertices based on the protruding vertex for each protruding vertex, and finally treats all other vertices except the first-level vertex as second-level vertices, and performs streaming rendering based on all first-level vertices and all second-level vertices to obtain the rendering result of the target three-dimensional model. Among them, the vertices of the target three-dimensional model are graded, and there is no need to perform operations such as vertex merging and edge folding, so that the streaming rendering of the target three-dimensional model is realized without destroying the mesh structure of the target three-dimensional model, reducing the computational cost of streaming rendering and improving the reliability of streaming rendering.

[0058] Next, the streaming rendering method provided by this application is exemplified.

[0059] like Figure 1 As shown, the streaming rendering method provided by this application includes the following steps:

[0060] Step 11, obtaining the height of each vertex of the target three-dimensional model.

[0061] The target three-dimensional model is a three-dimensional model that needs to be stream-rendered.

[0062] In some embodiments of the present application, computer software such as 3dMAX can be used to obtain the coordinates of the vertices of the target three-dimensional model in the default three-dimensional coordinate system of the computer software, and the coordinate value in the height direction is used as the height of the vertex.

[0063] Step 12, calculating the average height of the adjacent vertices of each vertex based on the heights of all the adjacent vertices of each vertex, and determining a plurality of protruding vertices from all the vertices according to the average heights of all the adjacent vertices.

[0064] Vertices located on the same plane are adjacent vertices. A prominent vertex is a vertex whose height difference with the average height of adjacent vertices meets a preset height condition. The preset height condition is greater than a height difference threshold.

[0065] In some embodiments of the present application, the above step of calculating the average height of adjacent vertices of each vertex based on the heights of all adjacent vertices of each vertex, and determining a plurality of protruding vertices from all vertices according to the average height of all adjacent vertices is specifically as follows:

[0066] In the first step, the average height of each vertex's adjacent vertices is calculated based on the heights of all adjacent vertices of each vertex.

[0067] Specifically, through the formula:

[0068]

[0069] Calculate the average height H of the adjacent vertices of the i-th vertex avg (v i ).

[0070] Among them, N(v i ) represents the number of all adjacent vertices of the i-th vertex, y j represents the height of the jth adjacent vertex, i=1,2,...,I, where I represents the number of vertices of the target 3D model.

[0071] In the second step, multiple prominent vertices are determined from all vertices according to the average height of all adjacent vertices.

[0072] Specifically, for each vertex, perform the following steps:

[0073] Calculates the height difference between a vertex's height and the average height of its neighboring vertices.

[0074] By formula:

[0075] ΔH(v i )=|y i -H avg (v i )|

[0076] Calculate the height difference ΔH(v i ).

[0077] Among them, y i represents the height of the i-th vertex, H avg (vi ) represents the average height of the adjacent vertices of the i-th vertex, i = 1, 2, ..., I, and I represents the number of vertices of the target three-dimensional model.

[0078] If the height difference meets the preset height condition, the vertex is regarded as a prominent vertex.

[0079] Exemplarily, the height difference threshold is 3, and the height difference between the vertex and the average height of the adjacent vertices is 3.2, then the vertex is a protruding vertex.

[0080] Step 13, for each protruding vertex, obtain a first-level vertex from all vertices based on the protruding vertex.

[0081] The first-level vertex is a corresponding protruding vertex or at least one vertex around the protruding vertex.

[0082] Specifically, when the number of adjacent vertices of a salient vertex is greater than or equal to a quantity threshold, and none of the adjacent vertices are salient vertices, a plurality of first-level vertices are determined from all adjacent vertices, and the number of the first-level vertices is equal to the quantity threshold.

[0083] When the number of adjacent vertices of a salient vertex is less than a quantity threshold, and none of the adjacent vertices are salient vertices, a first-level vertex is determined from all adjacent vertices.

[0084] When there is a protruding vertex among the adjacent vertices of the protruding vertex, the protruding vertex is regarded as a primary vertex.

[0085] Exemplarily, the first-level vertex can be determined based on the distance. The number threshold is 4, the number of adjacent vertices of the protruding vertex is 6, and none of them are protruding vertices, then the first 4 adjacent vertices with the shortest distance to the protruding vertex are selected as the first-level vertices; if the number of adjacent vertices of the protruding vertex is 3, and none of them are protruding vertices, then the adjacent vertex with the shortest distance to the protruding vertex is selected as the first-level vertex; if there is a protruding vertex among the adjacent vertices of the protruding vertex, regardless of whether the number of adjacent vertices is greater than or equal to the number threshold, the protruding vertex is selected as a first-level vertex.

[0086] Step 14, all other vertices except the first-level vertices are taken as second-level vertices, and streaming rendering is performed based on all the first-level vertices and all the second-level vertices to obtain the rendering result of the target three-dimensional model.

[0087] In some embodiments of the present application, the step of treating all other vertices except the first-level vertices as second-level vertices and performing streaming rendering according to all the first-level vertices and all the second-level vertices to obtain the rendering result of the target three-dimensional model includes:

[0088] In the first step, all vertices except the first-level vertices are regarded as second-level vertices.

[0089] Specifically, each vertex of the target three-dimensional model is traversed, and if the vertex is not marked as a primary vertex, it is marked as a secondary vertex.

[0090] In some embodiments of the present application, multiple graded vertices can be obtained according to actual needs. Specifically, all first-level vertices are marked, and level n is used as the current grade of the vertices, and all other vertices except the first-level vertices are used as candidate vertices; n=2; multiple vertices corresponding to the current grade are determined from all candidate vertices, and all vertices corresponding to the current grade are marked to determine whether the current grade reaches the preset grade; if so, all unmarked vertices among the candidate vertices are used as vertices corresponding to level n+1; otherwise, n+1 is used as the current grade, and all unmarked vertices among the candidate vertices are used as all candidate vertices, and the step of determining multiple vertices corresponding to the current grade from all candidate vertices, marking all vertices corresponding to the current grade, and determining whether the current grade reaches the preset grade is returned.

[0091] For example, the preset level is 4. After multiple vertices corresponding to level n=2 are determined from the candidate vertices, 3 is used as the current level, and the step of determining multiple vertices corresponding to the current level from all candidate vertices to determine whether the current level reaches the preset level is returned. After the vertex corresponding to n=4 is determined, all vertices that are not marked at this time are used as vertices of level n=5.

[0092] It should be noted that the above process of determining multiple secondary vertices from all other vertices based on the heights of all other vertices except the first-level vertex is the same as the process of obtaining the first-level vertex above, that is: the average height of the adjacent vertices of each other vertex is calculated based on the heights of all adjacent vertices of each other vertex, and multiple protruding vertices are determined from all other vertices based on the average heights of all adjacent vertices, and then for each protruding vertex, the secondary vertices are obtained from all other vertices based on the protruding vertices. If the vertex classification does not reach the preset level (such as level 3) after determining the secondary vertex, the third-level vertices are obtained from all unclassified vertices according to the above process; if the preset level is reached, all unmarked vertices are used as vertices for the next classification.

[0093] The second step is to perform streaming rendering based on all the first-level vertices and all the second-level vertices to obtain the rendering result of the target three-dimensional model.

[0094] Specifically, the vertex information of all first-level vertices (such as position information, index information, etc.) is packaged into a USD file, and the vertex information of all second-level vertices is packaged into a universal scene description (USD, Universal SceneDescription) file, and other files for streaming rendering of the target 3D model (such as the USD file of the framework information of the 3D mesh) are packaged; the software, system and other equipment that need to perform streaming rendering on the target 3D model first obtains the framework information of the 3D mesh in the target 3D model by loading the USD file of the 3D mesh, and then downloads and reads the USD file of the first-level vertices to complete the preliminary rendering of the mesh, and finally downloads and loads the USD file of the second-level vertices and other levels of data to complete the rendering of more details of the mesh and obtain the rendering result of the target 3D model.

[0095] Exemplarily, the mesh information of the target 3D model is encapsulated into a USD file, and the extracted mesh vertex information (first-level vertex, second-level vertex information) is encapsulated into a sub-file of the USD file. These files can be stored in different network servers. The client that needs to render obtains the extracted vertex information according to the mesh USD file to achieve a 3D mesh, and realizes loosely coupled mesh streaming loading and rendering through the network and other means. Streaming rendering can be performed using computer software such as 3dMAX to obtain the rendering result of the target 3D model.

[0096] It should be noted that if vertices of level three or above are obtained in the previous step, streaming rendering is performed based on the vertices of all levels to obtain the rendering result of the target 3D model. Specifically, when packaging files, for each level, the vertex information of all vertices of the level is packaged into a USD file; when streaming rendering is performed, the USD files are downloaded and read in sequence according to the levels to obtain the rendering result of the target 3D model.

[0097] In some embodiments of the present application, the code of the USD file of the generated three-dimensional mesh may be:

[0098]

[0099] The code for the level USD information is:

[0100]

[0101]

[0102] For example, the process of the method of the present application in practical application may be:

[0103] The first step is to generate a three-dimensional mesh file mesh.usd in OpenUSD format based on the model mesh of the three-dimensional model.

[0104] The second step is to extract the vertex information of the three-dimensional mesh, generate level0.usd (i.e., the USD file of the vertex information of the first-level vertices), upload the USD file to the file server, and write the file URL address into the level0 field in the mesh.usd file.

[0105] In the third step, similarly, other level information such as level 1 (i.e., vertex information of secondary vertices) is extracted and written into mesh.usd.

[0106] The fourth step is to render the 3D mesh: the mesh.usd file is the core description information of the 3D mesh, and level0.usd is the skeleton information of the 3D mesh.

[0107] Specifically, download and parse mesh.usd. According to the address of level0.usd, download and load level0.usd into the rendering engine to complete the first level of 3D mesh rendering. Download other level usd files, load the vertex information contained in these usd files into the rendering information, and realize the streaming rendering of 3D mesh.

[0108] It is worth mentioning that in the existing streaming rendering methods, it is usually necessary to use vertex merging, edge collapsing and other means to simplify the mesh to achieve different levels and different details. The method of the present application grades the vertices of the target three-dimensional model without the need for vertex merging, edge collapsing and other operations, so that the streaming rendering of the target three-dimensional model can be achieved without destroying the mesh structure of the target three-dimensional model, thereby reducing the computational cost of the streaming rendering and improving the reliability of the streaming rendering.

[0109] In addition, the present invention innovatively introduces the open source universal scene description (OpenUSD) technology and the three-dimensional mesh vertex extraction technology in real-time three-dimensional model rendering, extracts the three-dimensional mesh information in layers, and realizes the streaming loading and rendering of the three-dimensional mesh in a network environment without destroying the three-dimensional mesh. On the one hand, it solves the problem of long downloading and loading time of large three-dimensional meshes and large instantaneous occupation of memory resources. At the same time, it greatly improves the speed of real-time rendering of three-dimensional meshes, so that users can see the rendering results of the model relatively quickly. At the same time, it provides a means for complete three-dimensional mesh rendering, which improves the scope of use and usability of large three-dimensional mesh rendering.

[0110] The following is an exemplary description of the streaming rendering device provided by the present application.

[0111] like Figure 2As shown, the embodiment of the present application provides a streaming rendering device, and the streaming rendering device 200 includes:

[0112] A first acquisition module 201 is used to acquire the height of each vertex of the target three-dimensional model;

[0113] The calculation module 202 is used to calculate the average height of the adjacent vertices of each vertex based on the heights of all the adjacent vertices of each vertex, and determine a plurality of prominent vertices from all the vertices according to the average height of all the adjacent vertices; the prominent vertex is a vertex whose difference between the height of the vertex and the average height of the adjacent vertices meets a preset height condition;

[0114] The second acquisition module 203 is used to acquire a first-level vertex from all vertices based on each protruding vertex; the first-level vertex is the corresponding protruding vertex or at least one vertex around the protruding vertex;

[0115] The streaming rendering module 204 is used to treat all other vertices except the first-level vertices as second-level vertices, and perform streaming rendering according to all the first-level vertices and all the second-level vertices to obtain a rendering result of the target three-dimensional model.

[0116] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / units are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.

[0117] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0118] like Figure 3 As shown, an embodiment of the present application provides a terminal device. The terminal device D10 of this embodiment includes: at least one processor D100 ( Figure 3Only one processor is shown in the figure), a memory D101, and a computer program D102 stored in the memory D101 and executable on the at least one processor D100, wherein the processor D100 implements the steps of any of the above-mentioned method embodiments when executing the computer program D102.

[0119] Specifically, when the processor D100 executes the computer program D102, the height of each vertex of the target three-dimensional model is obtained, and then the average height of the adjacent vertices of each vertex is calculated based on the height of all adjacent vertices of each vertex, and multiple protruding vertices are determined from all vertices based on the average height of all adjacent vertices, and then for each protruding vertex, the first-level vertex is obtained from all vertices based on the protruding vertex, and finally all other vertices except the first-level vertex are used as second-level vertices, and streaming rendering is performed based on all first-level vertices and all second-level vertices to obtain the rendering result of the target three-dimensional model. Among them, the vertices of the target three-dimensional model are graded, and there is no need to perform operations such as vertex merging and edge folding, so that the streaming rendering of the target three-dimensional model is realized without destroying the mesh structure of the target three-dimensional model, reducing the computational cost of streaming rendering and improving the reliability of streaming rendering.

[0120] The processor D100 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0121] In some embodiments, the memory D101 may be an internal storage unit of the terminal device D10, such as a hard disk or memory of the terminal device D10. In other embodiments, the memory D101 may also be an external storage device of the terminal device D10, such as a plug-in hard disk, a smart memory card (SMC, SmartMedia Card), a secure digital (SD, Secure Digital) card, a flash card (Flash Card), etc. equipped on the terminal device D10. Further, the memory D101 may also include both an internal storage unit of the terminal device D10 and an external storage device. The memory D101 is used to store an operating system, an application program, a boot loader (BootLoader), data and other programs, such as the program code of the computer program, etc. The memory D101 may also be used to temporarily store data that has been output or is to be output.

[0122] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.

[0123] An embodiment of the present application provides a computer program product. When the computer program product runs on a terminal device, the terminal device can implement the steps in the above-mentioned method embodiments when executing the computer program product.

[0124] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may at least include: any entity or device that can carry the computer program code to the streaming rendering method device / terminal device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, RandomAccess Memory), electric carrier signal, telecommunication signal and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signals and telecommunication signals.

[0125] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0126] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0127] The above is a preferred embodiment of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles described in the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A streaming rendering method, characterized in that: include: Get the height of each vertex of the target 3D model; Calculating the average height of the adjacent vertices of each vertex based on the heights of all the adjacent vertices of each vertex, and determining a plurality of protruding vertices from all the vertices according to the average heights of all the adjacent vertices; The protruding vertex is a vertex whose height difference with the average height of adjacent vertices satisfies a preset height condition; For each of the protruding vertices, respectively, a first-level vertex is obtained from all vertices based on the protruding vertex; the first-level vertex is the corresponding protruding vertex or at least one vertex around the protruding vertex; All other vertices except the first-level vertices are taken as second-level vertices, and streaming rendering is performed according to all the first-level vertices and all the second-level vertices to obtain the rendering result of the target three-dimensional model.

2. The streaming rendering method according to claim 1, characterized in that: The step of calculating the average height of adjacent vertices of each vertex based on the heights of all adjacent vertices of each vertex comprises: By formula: Calculate the average height H of the adjacent vertices of the i-th vertex avg (v i ); Among them, N(v i ) represents the number of all adjacent vertices of the i-th vertex, y j represents the height of the jth adjacent vertex, i=1,2,...,I, where I represents the number of vertices of the target 3D model.

3. The streaming rendering method according to claim 1, characterized in that: The preset height condition is greater than the height difference threshold: The step of determining a plurality of protruding vertices from all vertices according to the average height of all adjacent vertices includes: For each vertex, perform the following steps: Calculate the height difference between the height of the vertex and the average height of adjacent vertices of the vertex; If the height difference satisfies a preset height condition, the vertex is taken as a protruding vertex.

4. The streaming rendering method according to claim 3, characterized in that: The calculating the height difference between the height of the vertex and the average height of adjacent vertices of the vertex comprises: By formula: ΔH(v i )=|y i -H avg (v i )| Calculate the height difference ΔH(v i ); Among them, y i represents the height of the i-th vertex, H avg (v i ) represents the average height of the adjacent vertices of the i-th vertex, i=1,2,...,I, I represents the number of vertices of the target three-dimensional model.

5. The streaming rendering method according to claim 1, characterized in that: The acquiring a first-level vertex from all vertices based on the protruding vertex includes: When the number of adjacent vertices of the protruding vertex is greater than or equal to the number threshold, and none of the adjacent vertices are protruding vertices, a plurality of first-level vertices are determined from all the adjacent vertices, and the number of the first-level vertices is equal to the number threshold; When the number of adjacent vertices of the protruding vertex is less than the number threshold, and none of the adjacent vertices are protruding vertices, determining a first-level vertex from all adjacent vertices; When there is a protruding vertex among the adjacent vertices of the protruding vertex, the protruding vertex is taken as a primary vertex.

6. The streaming rendering method according to claim 1, characterized in that: After the step of acquiring a first-level vertex from all vertices based on each of the protruding vertices, the streaming rendering method further includes: Mark all first-level vertices and take level n as the current level of the vertex, and take all other vertices except the first-level vertex as candidate vertices; n = 2; Determine a plurality of vertices corresponding to the current level from all candidate vertices, mark all vertices corresponding to the current level, and determine whether the current level reaches a preset level; If so, take all unmarked vertices among the candidate vertices as the vertices corresponding to level n+1; Otherwise, take n+1 as the current level, take all unmarked vertices among the candidate vertices as all the candidate vertices, return to the step of determining multiple vertices corresponding to the current level from all the candidate vertices, mark all vertices corresponding to the current level, and judge whether the current level reaches the preset level.

7. The streaming rendering method according to claim 6, characterized in that: The streaming rendering method further includes: Stream rendering is performed according to all graded vertices to obtain a rendering result of the target three-dimensional model.

8. A streaming rendering device, characterized in that: include: A first acquisition module is used to acquire the height of each vertex of the target three-dimensional model; A calculation module, used for calculating the average height of adjacent vertices of each vertex based on the heights of all adjacent vertices of each vertex, and determining a plurality of protruding vertices from all vertices according to the average height of all adjacent vertices; The protruding vertex is a vertex whose height difference with the average height of adjacent vertices satisfies a preset height condition; A second acquisition module is used to acquire a first-level vertex from all vertices based on each protruding vertex; the first-level vertex is the corresponding protruding vertex or at least one vertex around the protruding vertex; The streaming rendering module is used to treat all other vertices except the first-level vertices as second-level vertices, and perform streaming rendering according to all the first-level vertices and all the second-level vertices to obtain the rendering result of the target three-dimensional model.

9. A terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the streaming rendering method according to any one of claims 1 to 7 is implemented.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the streaming rendering method according to any one of claims 1 to 7 is implemented.