A dynamically adapted model data determination method and apparatus

By establishing 3D data indexes, topological relationships, and material rendering interfaces, and dynamically adapting to GPU hardware characteristics, the complexity of model data types generated by different tools is solved, enabling unified construction and rendering of 3D models and meeting data sharing needs.

CN122115698APending Publication Date: 2026-05-29BEIJING 51WORLD DIGITAL TWIN TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING 51WORLD DIGITAL TWIN TECH CO LTD
Filing Date
2024-11-27
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

In complex 3D modeling scenarios, the different data types of models generated by different tools make modeling tasks complicated and data sharing or exchange difficult. In particular, the differences in the compatibility and processing performance of GPUs supported by different hardware lead to inconsistent rendering results.

Method used

By acquiring model data of the target scene, we establish 3D data indexes, topological relationships, shading information indexes, and material rendering interfaces. We dynamically adapt the material rendering data of the target graphics processor and generate platform-independent model building data to achieve multi-platform sharing and unified rendering.

Benefits of technology

It enables unified construction and rendering of 3D models on different types of GPU platforms, ensuring consistent rendering effects and platform adaptability, and simplifying the modeling task processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122115698A_ABST
    Figure CN122115698A_ABST
Patent Text Reader

Abstract

The application provides a dynamically adapted model data determination method and device, which can dynamically adapt model construction data corresponding to a target scene according to a target scene indicated by a target platform initiating a rendering request and hardware attributes of a GPU, and determine material rendering data corresponding to the hardware attributes of the corresponding GPU. Since the model construction data and the material rendering data are determined based on model data of the target scene, when the target platform obtains model data corresponding to the target scene based on the model construction data, a three-dimensional model corresponding to each scene object in the target scene can be constructed locally, and a consistent appearance characteristic of each scene object can be rendered based on the corresponding material rendering data, which not only realizes dynamic adaptation of platform characteristics and model data, but also ensures the rendering effect of the platform.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of 3D modeling technology, and in particular to a method and apparatus for determining dynamically adaptable model data. Background Technology

[0002] In complex 3D modeling scenarios, completing a modeling task may require building different 3D models, and the model data needed to build these models is often generated by different tools. Correspondingly, the model data generated by different tools also have different types, including but not limited to BIM, 3DMAX, OBJ, GLTF, and UAsset, etc. In other words, the model data required for a modeling task may come from various sources and be of diverse types.

[0003] However, building 3D models based on different types of model data may require different hardware support, which makes the entire modeling task complex and difficult. For scenarios where there is a need for model data sharing or exchange, it is difficult to achieve a unified data platform. Summary of the Invention

[0004] To reduce the processing difficulty of model construction and meet the data sharing requirements, this application provides a dynamically adaptable model data determination method and apparatus.

[0005] In a first aspect, embodiments of this application provide a method for determining dynamically adapted model data, comprising: acquiring first model data of a target scene, the first model data including geometric structure data, vertex shading information, texture information, and material information of each scene object in the target scene; establishing a corresponding three-dimensional data index for the geometric structure data; establishing a topological relationship between each geometric unit in the geometric structure data based on the three-dimensional data index; establishing a corresponding shading information index for the vertex shading information; constructing a first mapping relationship between each model vertex and texture map in the three-dimensional model of the target scene based on the texture information; determining a target material rendering interface corresponding to the material information, the target material rendering interface being used to determine material rendering data adapted to the target graphics processor based on the material information; and determining the three-dimensional data index, topological relationship, shading information index, and first mapping relationship as model construction data for the target graphics processor to render the three-dimensional model of the target scene based on the model construction data and material rendering data.

[0006] In one optional embodiment, obtaining the first model data of the target scene includes: receiving a rendering request from the target platform, wherein the rendering request indicates the hardware characteristics of the target graphics processor used by the target platform and the target scene corresponding to the 3D model to be rendered; determining whether there is corresponding model construction data based on the target scene; and if it is determined that there is no corresponding model construction data, obtaining the first model data of the target scene.

[0007] In an optional embodiment, the method further includes: determining whether the first model data includes geometric structure data, vertex shading information, texture information, and material information of each scene object in the target scene; if it is determined that at least one type of information is missing, supplementing the first model data with the missing at least one type of information.

[0008] In one optional embodiment, if it is determined that at least one type of information is missing, the missing at least one type of information in the first model data is supplemented, including: if it is determined that material information is missing, generating material rendering data adapted to the target graphics processor.

[0009] In one optional embodiment, determining the target material rendering interface corresponding to the material information includes: determining whether a corresponding second mapping relationship exists based on hardware characteristics, the second mapping relationship being used to indicate the correspondence between the material information and the target material rendering interface; if it is determined that such a relationship exists, determining the target material rendering interface corresponding to the material information based on the second mapping relationship; if it is determined that such a relationship does not exist, determining an adapted material rendering interface as the target material rendering interface based on hardware characteristics; and constructing a second mapping relationship between the material information and the target material rendering interface.

[0010] In an optional embodiment, the method further includes: acquiring second model data for at least one scene; determining whether the second model data includes geometric structure data, vertex shading information, texture information, and material information of all scene objects in at least one scene; if it is determined that at least one type of information is missing, supplementing the missing at least one type of information in the second model data; and converting the supplemented second model data into a platform-independent general data format for use as general model construction data for sharing across multiple platforms.

[0011] In one alternative embodiment, if it is determined that at least one type of information does not exist, generating at least one type of information that does not exist includes: if it is determined that material information does not exist, generating platform-independent material rendering data.

[0012] Secondly, embodiments of this application provide a dynamically adaptable model data determination device, comprising: an acquisition module for acquiring first model data of a target scene, the first model data including geometric structure data, vertex shading information, texture information, and material information of various scene objects in the target scene; a first processing module for establishing a corresponding three-dimensional data index for the geometric structure data; a second processing module for establishing a topological relationship between various geometric units in the geometric structure data based on the three-dimensional data index; a third processing module for establishing a corresponding shading information index for the vertex shading information; a fourth processing module for constructing a first mapping relationship between various model vertices and texture maps in the three-dimensional model of the target scene based on the texture information; a first determination module for determining a target material rendering interface corresponding to the material information, the target material rendering interface being used to determine material rendering data adapted to the target graphics processor based on the material information; and a second determination module for determining the three-dimensional data index, topological relationship, shading information index, and first mapping relationship as model construction data, for use by the target graphics processor to render the three-dimensional model of the target scene based on the model construction data and the material rendering data.

[0013] In an optional embodiment, when the acquisition module acquires the first model data of the target scene, it is configured to: receive a rendering request from the target platform, wherein the rendering request indicates the hardware characteristics of the target graphics processor used by the target platform and the target scene corresponding to the 3D model to be rendered; determine whether there is corresponding model construction data based on the target scene; and if it is determined that there is no corresponding model construction data, acquire the first model data of the target scene.

[0014] In an optional embodiment, the acquisition module is further configured to: determine whether the first model data includes geometric structure data, vertex shading information, texture information and material information of each scene object in the target scene; if it is determined that at least one type of information is missing, complete the at least one type of information that is missing in the first model data.

[0015] In an optional embodiment, if it is determined that at least one type of information is missing, when the acquisition module completes the information that is missing in the first model data, it is used to: if it is determined that the material information is missing, generate material rendering data adapted to the target graphics processor.

[0016] In an optional embodiment, when determining the target material rendering interface corresponding to the material information, the first determining module is configured to: determine whether a corresponding second mapping relationship exists based on hardware characteristics, wherein the second mapping relationship is used to indicate the correspondence between the material information and the target material rendering interface; if it is determined that there exists, determine the target material rendering interface corresponding to the material information based on the second mapping relationship; if it is determined that there does not exist, determine an adapted material rendering interface as the target material rendering interface based on hardware characteristics; and construct a second mapping relationship between the material information and the target material rendering interface.

[0017] In an optional embodiment, the acquisition module is further configured to: acquire second model data for at least one scene; determine whether the second model data includes geometric structure data, vertex shading information, texture information, and material information of all scene objects in at least one scene; if it is determined that at least one type of information is missing, complete the at least one type of information that is missing in the second model data; and convert the completed second model data into a platform-independent general data format for use as general model construction data for sharing across multiple platforms.

[0018] In an optional embodiment, if it is determined that at least one type of information does not exist, the acquisition module, when generating the at least one type of information that does not exist, is configured to: if it is determined that the material information does not exist, generate platform-independent material rendering data.

[0019] Thirdly, embodiments of this application provide an electronic device, which includes: a memory for storing a computer program product; and a processor for executing the computer program product stored in the memory, wherein when the computer program product is executed, the above-mentioned dynamic adaptation model data determination method is implemented.

[0020] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer program instructions, which, when executed, implement the aforementioned method for determining dynamically adapted model data.

[0021] In this embodiment, model building data corresponding to the target scene and material rendering data corresponding to the corresponding GPU hardware attributes can be dynamically adapted based on the target scene indicated by the target platform initiating the rendering request and the GPU hardware attributes. Since the model building data and material rendering data are determined based on the model data of the target scene, after the target platform obtains the model data corresponding to the target scene based on the model building data, it can locally build 3D models corresponding to each scene object in the target scene, and render appearance characteristics consistent with each scene object based on the corresponding material rendering data. This achieves dynamic adaptation between platform characteristics and model data while ensuring the rendering effect of the platform. Attached Figure Description

[0022] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0023] Figure 1 This is a flowchart illustrating a method for determining dynamically adapted model data, as provided in an embodiment of this application.

[0024] Figure 2 This is a schematic diagram of a virtual scene obtained after rendering a 3D model based on model building data and material rendering data, as provided in the embodiments of this application.

[0025] Figure 3 This is a schematic diagram of the structure of a dynamically adaptable model data determination device provided in an embodiment of this application.

[0026] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0027] The present application will now be described in further detail with reference to the accompanying drawings and embodiments. Through these descriptions, the features and advantages of the present application will become clearer and more apparent.

[0028] The term “exemplary” as used herein means “serving as an example, embodiment, or illustration.” Any embodiment illustrated herein as “exemplary” is not necessarily to be construed as superior to or better than other embodiments. Although various aspects of embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless specifically indicated otherwise.

[0029] Furthermore, the technical features involved in the different embodiments of this application described below can be combined with each other as long as they do not conflict with each other.

[0030] In 3D model rendering scenarios, due to the complexity and diversity of material properties, and the differences in hardware characteristics among different types of Graphics Processing Units (GPUs), rendering 3D models based on different material properties may require specific GPU hardware features. For example, different material properties, including but not limited to color, transparency, gloss, reflection, and refraction, have varying computational resource requirements. Complex material properties, including but not limited to high dynamic range (HDR) textures, global illumination, and physically based rendering (PBR), require higher computational precision and more computational resources. For GPUs, different GPUs have different hardware characteristics, including but not limited to computing power, memory size, and the number of texture processing units. These hardware characteristics determine the efficiency and effect of the GPU when processing different material properties. Furthermore, different GPU manufacturers and models may provide GPUs with different Application Programming Interfaces (APIs) and drivers; therefore, the compatibility and processing performance of GPUs from different manufacturers and models for the same material properties also vary. In addition, different material properties may require different rendering algorithms to implement. For some rendering algorithms, such as ray tracing and rasterization, there are also specific requirements for GPU hardware support.

[0031] To address this, embodiments of this application provide a dynamically adaptable model data determination method. This method can dynamically adapt to different types of GPUs to determine suitable material rendering data and other model data required for constructing 3D models for different types of GPUs. In this way, various platforms that perform model rendering based on different types of GPUs can obtain various model data required for constructing 3D models through this method and render the 3D models in a manner adapted to the local GPU hardware characteristics.

[0032] Before describing the method for determining dynamically adapted model data provided in the embodiments of this application, it should be noted that the embodiments of this application do not limit the execution subject of the method, including but not limited to local servers, public servers, or cloud servers. The method can be applied to specific execution subjects according to actual needs. When the execution subject is a local server, it can be understood that the method is used to determine the GPU-adapted material rendering data and other model data used locally by the server and use them as model building data. Based on this, the local server can build a 3D model on the local graphical user interface (GUI) and perform texture and material rendering on it based on the model building data. Correspondingly, when the execution subject is a public server or a cloud server, it can be understood that the method is used to determine the GPU-adapted material rendering data and other model data used by each platform and use them as model building data. Based on this, each platform can build a 3D model on the local graphical user interface (GUI) and perform texture and material rendering on it based on the model building data obtained from the public server or cloud server.

[0033] In the following embodiments of this application, a public server used to provide model building data service is taken as the execution subject to describe each step of the dynamically adapted model data determination method provided in the embodiments of this application.

[0034] Figure 1 A flowchart illustrating a method for determining dynamically adapted model data provided in this application embodiment is shown below. Figure 1 As shown, the method includes:

[0035] S1. Obtain the first model data of the target scene. The first model data includes the geometric structure data, vertex shading information, texture information and material information of each scene object in the target scene.

[0036] S2. Establish a corresponding three-dimensional data index for the geometric structure data;

[0037] S3. Based on the three-dimensional data index, establish the topological relationships between the various geometric units in the geometric structure data;

[0038] S4. Establish corresponding shading information indexes for vertex shading information;

[0039] S5. Based on texture information, construct the first mapping relationship between each model vertex and texture map in the 3D model of the target scene;

[0040] S6. Determine the target material rendering interface corresponding to the material information. The target material rendering interface is used to determine the material rendering data that is compatible with the target graphics processor based on the material information.

[0041] S7. The 3D data index, topological relationship, shading information index and first mapping relationship are determined as model building data, so that the target graphics processor can render the 3D model of the target scene based on the model building data and material rendering data.

[0042] In this embodiment, when the target platform has a 3D model rendering requirement, it can initiate a rendering request to a public server to obtain the model building data required for constructing the 3D model. Optionally, to enable the public server to determine suitable model building data for the target platform, the rendering request can indicate the target scene corresponding to the 3D model to be rendered by the target platform. Based on this, after receiving the rendering request from the target platform, the public server can obtain the corresponding model building data according to the target scene. This embodiment does not limit the method by which the public server obtains the model building data corresponding to the target scene. In one optional method, the public server pre-stores the model building data corresponding to the target scene. Based on this, after receiving the rendering request initiated by the target platform for the target scene, the public server can directly return the pre-stored model building data corresponding to the target scene to the target platform. In another optional method, the public server does not store the model building data corresponding to the target scene. When the public server receives the rendering request initiated by the target platform for the target scene, it can determine that this rendering request is the first rendering request initiated for the target scene. Based on this, the public server can first obtain the first model data corresponding to the target scene, and then generate the model building data corresponding to the target scene based on the first model data.

[0043] In this embodiment of the application, regardless of the method used by the public server to obtain the model building data corresponding to the target platform, for any scenario, the public server must obtain the model data corresponding to the corresponding scenario before generating the model building data corresponding to the corresponding scenario, and generate the model building data corresponding to the corresponding scenario based on the corresponding model data.

[0044] The following example illustrates the process of generating model construction data, using the public server generating model construction data corresponding to the target scene based on the first model data.

[0045] In this embodiment of the application, the type of each model data included in the first model data is not limited. The corresponding type may also be different depending on the source of each model data. For example, if the model data of each scene object in the target scene is generated using the same method, the type of each model data obtained will be the same. If the model data of each scene object in the target scene is generated using different methods, the type of each model data obtained may be different. The specific type can be determined according to the actual situation.

[0046] Optionally, to illustrate the process of uniformly processing different types of model data using the above method, this application embodiment uses the example of the first model data including multiple types of model data for illustration. The source of the different types of model data is not limited, but may include, but is not limited to, model data output by industrial design software, such as Rhino, SolidWorks, Key Shot, 3ds Max, Pro-ENGINEER, Adobe Illustrator, Photoshop, etc.; model data output by 3D scanning devices, such as handheld 3D scanners, desktop 3D scanners, professional brand 3D scanners, etc.; computer-generated 3D model data, such as model data obtained through geometric modeling (wireframe modeling, surface modeling, solid modeling, polygon modeling), surface modeling, parametric modeling, scan modeling, direct modeling, etc.; model data provided by online platforms, such as model data downloaded from online platforms like Sketchfab, TurboSquid, CGTrader; model data obtained by combining sensor data with reconstruction algorithms, etc.

[0047] Furthermore, this application does not limit the type of device used to generate sensor data or the type of algorithm combined with the corresponding sensor data; the choice can be made according to actual needs. For example, data generated by depth sensors such as structured light sensors and time-of-flight (ToF) sensors can be combined with algorithms such as Poisson fusion algorithms and graph optimization algorithms to generate a 3D model; data generated by RGB-D sensors can be combined with algorithms such as SURFEL algorithms and Kinect Fusion algorithms to generate a 3D model; data generated by light field cameras can be combined with algorithms such as light field refocusing algorithms and light field depth estimation algorithms to generate a 3D model; data generated by devices such as inertial measurement units and laser scanners can be combined with texture reconstruction algorithms to generate a 3D model, and so on. Based on the 3D models generated above, the corresponding model data can be obtained.

[0048] Therefore, the public server can obtain various model data, including the first model data, through various channels. Since the sources of these model data differ, their types may also differ. Therefore, to simplify processing, the public server can perform preprocessing operations such as data cleaning and format conversion on the model data after obtaining it from various channels. This application does not limit the data format of the converted model data; for example, it may include, but is not limited to, lightweight data exchange formats (JavaScript Object Notation, JSON), Extensible Markup Language (XML), Comma-Separated Values ​​(CSV), or custom formats conforming to Industry Foundation Classes (IFC), etc. The specific type can be selected according to actual needs.

[0049] Furthermore, for the various preprocessed model data, the public server can determine the geometric units included in the various model data based on the geometric structure data corresponding to each model data. Then, it can classify and store the various model data according to the type of each geometric unit. For example, if the public server determines that the various model data includes geometric units such as points, lines, vectors, mesh surfaces, and polygons based on the geometric structure data, it can classify and store the various model data according to the type of geometric unit, so that the target platform can construct 3D models with different structures based on model data with different geometric structures.

[0050] Furthermore, the public server can create 3D data indexes for the various types of model data stored in categories, enabling rapid retrieval of different model data. The method for creating the 3D data index is not limited; since the various types of model data obtained from different sources have differences, the appropriate index type can be selected based on the characteristics of the different types of model data when creating the 3D data index. Based on this, the public server can analyze and identify each type of model data stored in categories, and determine the appropriate index structure according to the geometric structure of each type of model data.

[0051] For various types of model data after categorized storage, the public server can create a 3D data index for each type of model data based on its corresponding geometric structure, determine the characteristics of each type of model data, and select an appropriate type of 3D data index. For example, for model data generated by scanners or voxel editing software in voxel units, an octree-structured 3D data index can be created; for model data generated by LiDAR, structured light modules, or ToF sensors in point cloud units, a K-dimensional tree-structured 3D data index can be created; for model data in collision detection scenarios, a bounding volume hierarchy (BVH) can be created; for geospatial data generated by remote sensing or positioning devices, a multi-level balanced tree (R-tree)-structured 3D data index can be created, and so on. Of course, the above is only an example and is not limited to these in actual applications.

[0052] Based on this, when creating a 3D data index for each type of model data, the public server can define basic elements such as nodes, child nodes, and bounding boxes in the 3D data index according to the selected index type. Then, based on these defined basic elements, the server spatially partitions the model data of the appropriate type according to the corresponding index structure, mapping the corresponding model data to the positions corresponding to the basic elements of the 3D data index. For example, for model data in units of volume pixels, the public server can partition the corresponding model data into multiple small cubes in 3D space and create a node for each cube as a node in an octree. As another example, for model data in units of point clouds, the public server can recursively partition the model data into multiple subspaces based on the distribution characteristics of the model data and create a node for each subspace as a node in a KD tree. Furthermore, for model data in collision detection scenarios, the public server can calculate the bounding volume of each geometric unit and construct a BVH tree structure for the model data based on the hierarchical relationship of each bounding volume. For example, for geospatial data, a public server can create corresponding nodes in an R-tree based on the geospatial extent of the model data and maintain the parent-child relationships between these nodes. Based on this, each type of model data with a 3D data index is stored in memory or on disk for subsequent querying and retrieval.

[0053] Of course, during the process of creating a 3D data index for each type of model data, the public server can also make some optimizations and adjustments to improve the query efficiency and performance of the 3D data index. For example, for the KD-tree index type, the optimal splitting plane can be selected to balance the left and right subtrees; for the BVH-tree index type, the calculation method of the bounding volume can be adjusted to reduce the amount of computation, and so on. The specific methods are not limited.

[0054] Furthermore, after creating a 3D data index for each type of model data, in order to describe and maintain the relationships between the geometric units included in each type of model data, the public server can also establish corresponding topological relationships based on the geometric units included in each type of model data. This allows the target platform to quickly identify the relationships between geometric units based on the topological relationships when constructing a 3D model. Optionally, the public server can identify the relationships between the geometric units included in each type of model data. For geometric units with shared edges or shared faces, it defines the adjacency between the corresponding geometric units; for a geometric unit containing one or more other geometric units, it defines the containment between the corresponding geometric units; for partially overlapping geometric units, it defines the intersection between the corresponding geometric units; for geometric units with "up, down, left, right" relationships, it defines the orientational relationships between the corresponding geometric units, and so on.

[0055] Based on this, according to the defined relationships between the geometric units included in each type of model data, the topological relationships corresponding to each type of model data are obtained. Then, the constructed topological relationships are stored in the form of a topological graph, which facilitates querying the relationships between the geometric units in each type of model data. The storage method for the topological relationships is not limited; optionally, an adjacency matrix or an adjacency list can be used to store the topological relationships between the geometric units in each type of model data.

[0056] Alternatively, if there are additions or deletions in the model data, the corresponding nodes can be found in the corresponding topological relationships based on the three-dimensional data index of each type of model data, so as to update the corresponding topological relationships and ensure the synchronization of data and structure.

[0057] In this embodiment, the public server can also construct a correspondence between the appearance characteristics of each scene object in the target scene and the model data of the corresponding scene object. Each vertex of each scene object corresponds to vertex shading information in the corresponding model data, and each surface of each scene object corresponds to texture information in the corresponding model data. Based on this, the public server can extract vertex shading information and texture information from the acquired various model data, establish a corresponding shading information index for the vertex shading information, and construct a first mapping relationship between each model vertex and the texture map based on the texture information. Thus, after constructing the 3D model, the target platform can determine the vertex shading information corresponding to each model vertex in the 3D model based on the shading information index stored on the public server, and determine the texture map associated with each model vertex based on the first mapping relationship. Then, based on the corresponding vertex shading information and texture map, the model appearance can be rendered quickly.

[0058] Optionally, when the public server establishes a corresponding shading information index for each vertex shading information, it can extract information such as vertex coordinates, RGB values, normal directions, and material properties corresponding to each vertex of each scene object from the vertex shading information. Then, it establishes a correspondence between each vertex coordinate and the color table and material ID, serving as the corresponding vertex shading information index. Correspondingly, when the public server constructs the first mapping relationship between each model vertex and the texture map based on the texture information, it can identify the planar mapping coordinates (UV coordinates) corresponding to the vertices of each texture map identified from the texture information. Then, based on the correspondence between 3D coordinates and planar coordinates, it determines the corresponding model vertices of each texture map and uses the coordinate correspondence between the corresponding texture map and the corresponding model vertex as the first mapping relationship between them.

[0059] Further optionally, after saving the above vertex shading information and its corresponding shading information index, as well as each texture map and its first mapping relationship with each model vertex, when the model data changes or the vertex shading information and texture map corresponding to the model data need to be modified, the vertex shading information and texture map corresponding to the changed model data can be dynamically updated or expanded based on the shading information index and the first mapping relationship.

[0060] Typically, in rendering 3D models, in addition to rendering the shading information of the model's vertices and the texture maps of the surface, it is also necessary to render the material properties of the model's surface, such as color, glossiness, transparency, reflectivity, etc. However, since different material properties require the support of compatible GPU hardware features during rendering, in order to ensure that the model building data generated by the public server can be adapted to various platforms, in this embodiment of the application, the public server provides a function for dynamically adapting material properties to GPU hardware features, so as to determine the appropriate material rendering data according to the hardware features of the GPU used by each platform.

[0061] Optionally, the public server predefines material rendering interfaces corresponding to the hardware characteristics of various GPUs. These material rendering interfaces can determine material rendering data adapted to the corresponding GPU's hardware characteristics. The correspondence between the material rendering interfaces and the hardware characteristics of various GPUs is not limited. Optionally, corresponding material rendering interfaces can be defined for different GPUs to determine material rendering data adapted to the various hardware characteristics of the corresponding GPU through each interface. Alternatively, for ease of maintenance and management, interfaces can be categorized according to GPU hardware characteristics, such as the GPU's manufacturer, model, version, computing power, memory capacity, memory bandwidth, number of cores, etc., so that each type of interface is used to determine the same type of material rendering data. Alternatively, a general material rendering interface can be defined, within which corresponding processing methods are defined for different hardware characteristics of different GPUs to determine the corresponding material rendering data. The specific method used can be selected according to actual needs and is not limited here.

[0062] Based on this, according to the correspondence between various GPU hardware characteristics and material rendering interfaces, and the material attributes supported by different GPU hardware characteristics, the public server can establish a second mapping relationship between various material attributes and various material rendering interfaces. In this way, after obtaining multiple types of model data, the public server can extract material information and determine the corresponding material attributes. Then, based on the second mapping relationship, it can determine the material rendering interface corresponding to each material attribute, and use the corresponding material rendering interface to determine the material rendering data corresponding to the corresponding material attribute. This can be understood as follows: through the material rendering interfaces corresponding to the hardware characteristics of various GPUs, the material attributes corresponding to model data from various sources can be converted into data types supported by the corresponding GPU hardware characteristics, achieving dynamic adaptation between GPU hardware characteristics and material attributes.

[0063] Optionally, the second mapping relationship can be stored in a mapping file such as a document object or XML. By reading the mapping file, the public server can determine the second mapping relationship between various material properties and material rendering interfaces, find the access path of each material rendering interface, and then call the corresponding material rendering interface to perform the corresponding operation based on the corresponding access path.

[0064] It's important to note that the public server doesn't establish a second mapping between material properties and material rendering interfaces every time it receives model data. Instead, it establishes this mapping only if a corresponding material rendering interface doesn't exist in the mapping file. Of course, if the corresponding material rendering interface also doesn't exist, a separate definition is required, which will not be detailed here.

[0065] Based on this, after receiving a rendering request from the target platform, the public server can determine whether a corresponding second mapping relationship exists in the mapping file according to the hardware characteristics of the GPU indicated by the rendering request. This second mapping relationship is used to indicate the correspondence between the material attributes included in the material information of the first model data and the corresponding target material rendering interface. Further, if the existence of the second mapping relationship is determined, the target material rendering interface corresponding to the material attributes included in the material information of the first model data is determined according to the second mapping relationship, and the corresponding material rendering data is generated through the corresponding target rendering interface; if the absence of the second mapping relationship is determined, an adapted material rendering interface is determined as the target material rendering interface according to the hardware characteristics of the GPU indicated by the rendering request, and a second mapping relationship is constructed between the material attributes included in the material information of the first model data and the target material rendering interface.

[0066] In this embodiment of the application, in order to enable the public server to determine the hardware characteristics of the GPU used by the target platform, the rendering request initiated by the target platform can also indicate the hardware characteristics of the target GPU used by the target platform. In this way, after receiving the rendering request from the target platform, the public server can determine the material attributes corresponding to the material information included in the first model data, and then determine the target material rendering interface corresponding to the corresponding material attributes according to the second mapping relationship, and determine the material rendering data adapted to the target GPU through the target material rendering interface according to the corresponding material attributes.

[0067] Based on the above, the public server can identify the geometric structure data, vertex shading information, texture information, and material information in the first model data by acquiring the first model data corresponding to the target scene. Based on this, it identifies each geometric unit corresponding to the geometric structure data and establishes corresponding 3D data indexes and topological relationships for the model data of each geometric unit; it establishes shading information indexes for each model vertex based on the vertex shading information in the first model data, and establishes a first mapping relationship between each model vertex and texture map based on the texture information in the first model data; and it determines material rendering data adapted to the hardware characteristics of the GPU used by the target platform based on the material information in the first model data.

[0068] Based on this, the public server can determine the aforementioned 3D data index, topological relationship, shading information index, and first mapping relationship as the model construction data corresponding to the target scene, and then return this model construction data and material rendering data to the target platform. Further, the target platform can obtain the model data required to construct the 3D model from the public server based on the model construction data. Then, based on the corresponding model data, it can construct the 3D model corresponding to the target scene locally, and render the 3D model's vertex shading, surface texture, and material properties using the local GPU based on the material rendering data.

[0069] In the above embodiments, the generation process of model building data is described using the example of a public server generating model building data corresponding to a target scene based on the first model data. However, in practical applications, the public server does not necessarily execute all operations of the model building data generation process every time it receives a rendering request from various platforms. To simplify processing, in this embodiment, for any given scene, the public server only generates the corresponding model building data in the manner described above after receiving the first rendering request for that scene, and then saves the corresponding model data locally. In other words, the model building data generation process in the above embodiments is the processing process after the first rendering request for the target scene is initiated.

[0070] Based on this, after receiving a rendering request from the target platform for a target scene, the public server can determine whether corresponding model building data already exists locally based on the target scene indicated in the rendering request. If it is determined that the model building data exists, it returns the model building data to the target platform. If it is determined that the model building data does not exist, it obtains the first model data corresponding to the target scene, and generates the model building data corresponding to the target scene based on the first model data in the above embodiment, and returns the generated model building data to the target platform. The model building data already existing locally on the public server can be understood as the public server having already received the first rendering request for the target scene before the target platform initiated this rendering request, and having generated the model building data corresponding to the target scene for that rendering request.

[0071] Accordingly, in this embodiment, for any second mapping relationship between material information and GPU hardware characteristics, the public server only generates corresponding material rendering data in the manner described in the above embodiment when it first receives a rendering request where the GPU hardware characteristics indicated in the rendering request correspond to the hardware characteristics indicated in the corresponding second mapping relationship, and the material information included in the model data of the scene indicated in the rendering request corresponds to the material information indicated in the corresponding second mapping relationship. That is, in the above embodiment, the process of generating material rendering data based on the material information in the first model data refers to generating material rendering data for the first time based on the material information corresponding to the first model data, and this material rendering data is adapted to the hardware characteristics of the GPU used by the target platform.

[0072] Based on this, after receiving a rendering request from the target platform for the target scene, the public server can determine whether corresponding material rendering data already exists locally based on the hardware characteristics of the GPU indicated in the rendering request. If it is determined that the material rendering data exists, it returns the material rendering data to the target platform. If it is determined that the material does not exist, it determines the corresponding material information based on the first model data of the target scene. Then, using the method described in the above embodiment, it generates material rendering data adapted to the hardware characteristics of the GPU used by the target platform based on the material information, and returns the generated material rendering data to the target platform. The material rendering data already existing locally on the public server can be understood as the material rendering data generated by the public server in the first rendering request for the same material information and the same GPU hardware characteristics before the target platform initiated this rendering request.

[0073] Based on the above, after obtaining the model building data from the public server, the target platform can obtain the model data corresponding to each scene object in the target scene from the public server, build the 3D corresponding to each scene object locally, and render each 3D model based on the material rendering data generated by the public server to obtain a virtual scene corresponding to the target scene. Figure 2 This illustrates various 3D models constructed by the target platform based on model data corresponding to various scene objects in the target scene, and a schematic diagram of the virtual scene obtained after rendering each 3D model based on material rendering data. Of course, Figure 2 This is for illustrative purposes only. The specific 3D model type and rendering effect can be determined based on the characteristics of the actual scene.

[0074] It should be noted that if the model data obtained by the public server from various sources simultaneously includes geometric structure data, vertex shading information, texture information, and material information, model construction data for the target scene can be generated using the methods described in the above embodiments, and the appropriate material rendering data can be determined based on the hardware characteristics of the GPU used by the target platform initiating the rendering request. However, in practical applications, the model data obtained by the public server from various sources does not simultaneously include all of the above-mentioned data. Therefore, for model data with incomplete data types, this application embodiment also provides another method for generating model construction data, which will be illustrated below.

[0075] Optionally, after obtaining the first model data from various sources, the public server can identify whether the first model data includes geometric structure data, vertex shading information, texture information, and material information of each scene object in the target scene. If it is determined that at least one type of information is missing, the public server can automatically complete the missing information in the first model data and generate model construction data corresponding to the target scene based on the completed model data. The method by which the public server automatically completes the missing information in the first model data is not limited. Optionally, if it is determined that material information is missing, the public server can determine the corresponding target material rendering interface based on the hardware characteristics of the GPU indicated by the rendering request of the target platform, and generate material rendering data adapted to the hardware characteristics of the corresponding GPU through the target material rendering interface.

[0076] Accordingly, if it is determined that the missing information is not material information, the public server can generate the missing information using a common data format. For example, through semantic description, it can annotate the logical objects required to construct each model object in the target scene, the feature parameters and attributes of each logical object, and the relationships between each logical object. This descriptive information is platform-independent. Based on this, after the target platform obtains the corresponding information from the model construction data, it can convert it into a target-platform compatible data format for use in the construction and rendering of 3D models.

[0077] The above embodiment uses the example of a target platform initiating a rendering request to a public server to illustrate how the model data determination method provided in this application determines the model construction data and material rendering data required by the target platform. In addition, the model data determination method provided in this application also supports providing shared model construction data and material rendering data for multiple platforms, which will be described exemplarily below.

[0078] In this embodiment, the public server can obtain second model data for at least one scene. The sources and corresponding data types of this model data can be found in the description of the sources and data types of the first model data in the above embodiments, and will not be repeated here. Based on this, after obtaining the second model data, the public server can identify the content of the second model data and determine whether it includes geometric structure data, vertex shading information, texture information, and material information of each scene object. Furthermore, if it is determined that at least one type of information is missing, the missing information in the second model data is supplemented, and the supplemented second model data is converted into a platform-independent general data format for use as general model construction data for multi-platform sharing. This embodiment does not limit the general data format after the second model data conversion; optionally, it may include, but is not limited to, formats such as JSON, XML, CSV, IFC, THML, etc., and the specific type can be selected according to actual needs.

[0079] Therefore, if material information is determined to be absent, the public server can generate platform-independent material rendering data using semantic description or other custom methods. For example, it can generate parameter values ​​corresponding to various material properties. Each platform can choose the specific parameter type and whether to use any parameters based on its actual needs. Similarly, for at least one other missing piece of information, the public server can also use semantic description to annotate the logical objects required to construct each model object in each scene, the feature parameters and attributes of each logical object, and the relationships between these logical objects. Because the above descriptive information is platform-independent, any platform, after obtaining the relevant content, can determine its content through semantic parsing and then convert it into a data format adapted to its own platform.

[0080] In addition, considering universality and compatibility, the aforementioned universal model building data can also support extended functions to update the content of the universal model building data as new model data is continuously obtained from the public server. The specific content can be determined according to actual needs and will not be detailed here.

[0081] In summary, the model data determination method provided in this application can dynamically adapt the model construction data corresponding to the target scene and determine the material rendering data corresponding to the hardware attributes of the corresponding GPU based on the target scene indicated by the target platform initiating the rendering request and the hardware attributes of the GPU. Since the model construction data and material rendering data are determined based on the model data of the target scene, after the target platform obtains the model data corresponding to the target scene based on the model construction data, it can locally construct 3D models corresponding to each scene object in the target scene and render appearance characteristics consistent with each scene object based on the corresponding material rendering data. This achieves dynamic adaptation between platform characteristics and model data while ensuring the rendering effect of the platform.

[0082] It is understood that the above embodiments are merely examples, and modifications can be made to the above embodiments in actual implementation. Those skilled in the art will understand that any modifications to the above embodiments that do not require creative effort fall within the protection scope of this application, and will not be described in detail in the embodiments.

[0083] All the above-mentioned optional technical solutions can be referenced or combined with each other to form optional embodiments of this application, and will not be described in detail here.

[0084] Based on the same inventive concept, this application also provides a dynamically adaptable model data determination device. Since the principle of the problem solved by the dynamically adaptable model data determination device is similar to that of the aforementioned dynamically adaptable model data determination method, the implementation of the dynamically adaptable model data determination device can refer to the implementation of the aforementioned dynamically adaptable model data determination method, and the repeated parts will not be described again.

[0085] See Figure 3 , Figure 3 This is a structural block diagram of a dynamically adaptable model data determination device provided in an embodiment of this application. Figure 3 As shown, the dynamically adaptable model data determination device 300 may include: an acquisition module 301, a first processing module 302, a second processing module 303, a third processing module 304, a fourth processing module 305, a first determination module 306, and a second determination module 307; wherein, the acquisition module 301 is used to acquire first model data of the target scene, wherein the first model data includes geometric structure data, vertex shading information, texture information, and material information of each scene object in the target scene; the first processing module 302 is used to establish a corresponding three-dimensional data index for the geometric structure data; the second processing module 303 is used to establish the topology between each geometric unit in the geometric structure data according to the three-dimensional data index. The third processing module 304 is used to establish a corresponding shading information index for vertex shading information; the fourth processing module 305 is used to construct a first mapping relationship between each model vertex and texture map in the 3D model of the target scene based on texture information; the first determining module 306 is used to determine the target material rendering interface corresponding to the material information, wherein the target material rendering interface is used to determine the material rendering data adapted to the target graphics processor according to the material information; the second determining module 307 is used to determine the 3D data index, topological relationship, shading information index and the first mapping relationship as model construction data, so that the target graphics processor can render the 3D model of the target scene based on the model construction data and material rendering data.

[0086] In an optional embodiment, when acquiring the first model data of the target scene, the acquisition module 301 is configured to: receive a rendering request from the target platform, wherein the rendering request indicates the hardware characteristics of the target graphics processor used by the target platform and the target scene corresponding to the 3D model to be rendered; determine whether there is corresponding model construction data based on the target scene; and if it is determined that there is no corresponding model construction data, acquire the first model data of the target scene.

[0087] In an optional embodiment, the acquisition module 301 is further configured to: determine whether the first model data includes geometric structure data, vertex shading information, texture information and material information of each scene object in the target scene; if it is determined that at least one type of information is missing, complete the at least one type of information that is missing in the first model data.

[0088] In an optional embodiment, if it is determined that at least one type of information is missing, when the acquisition module 301 completes the first model data for at least one type of information that is missing, it is used to: if it is determined that material information is missing, generate material rendering data adapted to the target graphics processor.

[0089] In an optional embodiment, when determining the target material rendering interface corresponding to the material information, the first determining module 306 is configured to: determine whether a corresponding second mapping relationship exists based on hardware characteristics, wherein the second mapping relationship is used to indicate the correspondence between the material information and the target material rendering interface; if it is determined that there exists, determine the target material rendering interface corresponding to the material information based on the second mapping relationship; if it is determined that there does not exist, determine an adapted material rendering interface as the target material rendering interface based on hardware characteristics; and construct a second mapping relationship between the material information and the target material rendering interface.

[0090] In an optional embodiment, the acquisition module 301 is further configured to: acquire second model data for at least one scene; determine whether the second model data includes geometric structure data, vertex shading information, texture information and material information of all scene objects in at least one scene; if it is determined that at least one type of information is missing, complete the at least one type of information that is missing in the second model data; convert the completed second model data into a platform-independent general data format, and use it as general model construction data for sharing across multiple platforms.

[0091] In an optional embodiment, if it is determined that at least one type of information does not exist, the acquisition module 301, when generating the at least one type of information that does not exist, is configured to: if it is determined that the material information does not exist, generate platform-independent material rendering data.

[0092] This application also provides an electronic device, see [link to relevant documentation] Figure 4 , Figure 4 This is a structural block diagram of an electronic device provided in an embodiment of this application. Figure 4 As shown, the electronic device 400 may include a processor 401, a memory 402, and a program or instructions stored in the memory 402 and executable on the processor 401. When the program or instructions are executed by the processor 401, they implement the various processes of the above-described embodiment of the dynamically adapted model data determination method and achieve the same technical effect. To avoid repetition, they will not be described again here.

[0093] It should be noted that the electronic devices in the embodiments of this application include mobile electronic devices and non-mobile electronic devices.

[0094] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the various processes of the above-described dynamically adapted model data determination method embodiment and achieves the same technical effect. To avoid repetition, it will not be described again here.

[0095] The processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.

[0096] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0097] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0098] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0099] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the apparatus embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the description of the method embodiments. In this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Those skilled in the art can understand the specific meaning of the above terms in this application according to the specific circumstances.

[0100] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application is not limited to any single aspect, nor to any single embodiment, nor to any combination and / or substitution of these aspects and / or embodiments. Moreover, each aspect and / or embodiment of this application can be used alone or in combination with one or more other aspects and / or embodiments thereof.

[0101] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and not to limit them; although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some or all of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application, and they should all be covered within the scope of this application.

Claims

1. A method for determining dynamically adaptable model data, characterized in that, include: Obtain first model data of the target scene, the first model data including geometric structure data, vertex shading information, texture information and material information of each scene object in the target scene; Establish a corresponding three-dimensional data index for the geometric structure data; Based on the three-dimensional data index, establish the topological relationships between the various geometric units in the geometric structure data; Establish a corresponding shading information index for the vertex shading information; Based on the texture information, a first mapping relationship between each model vertex and texture map in the 3D model of the target scene is constructed; Determine the target material rendering interface corresponding to the material information. The target material rendering interface is used to determine material rendering data adapted to the target graphics processor based on the material information. The three-dimensional data index, topological relationship, shading information index, and first mapping relationship are determined as model building data, which are used by the target graphics processor to render the three-dimensional model of the target scene based on the model building data and the material rendering data.

2. The method according to claim 1, characterized in that, Obtain the first model data of the target scene, including: Receive a rendering request from the target platform, wherein the rendering request indicates the hardware characteristics of the target graphics processor used by the target platform and the target scene corresponding to the 3D model to be rendered; Based on the target scenario, determine whether corresponding model building data exists; If it is determined that the target scene does not exist, obtain the first model data of the target scene.

3. The method according to claim 2, characterized in that, Also includes: Determine whether the first model data includes the geometric structure data, vertex shading information, texture information, and material information of each scene object in the target scene; If it is determined that at least one piece of information is missing, then fill in the missing information in the first model data.

4. The method according to claim 3, characterized in that, If it is determined that at least one piece of information is missing, complete the missing information in the first model data, including: If it is determined that the material information does not exist, material rendering data adapted to the target graphics processor is generated.

5. The method according to claim 2, characterized in that, Determining the target material rendering interface corresponding to the material information includes: Based on the hardware characteristics, determine whether there is a corresponding second mapping relationship, which is used to indicate the correspondence between the material information and the target material rendering interface; If it is determined that the material exists, the target material rendering interface corresponding to the material information is determined according to the second mapping relationship; If it is determined that it does not exist, a suitable material rendering interface is determined as the target material rendering interface based on the hardware characteristics; and Construct a second mapping relationship between the material information and the target material rendering interface.

6. The method according to claim 1, characterized in that, Also includes: Obtain second model data for at least one scenario; Determine whether the second model data includes geometric structure data, vertex shading information, texture information, and material information of all scene objects in the at least one scene; If it is determined that at least one piece of information is missing, complete the data in the second model that does not contain at least one piece of information; The completed second model data is converted into a platform-independent general data format and used as general model building data for sharing across multiple platforms.

7. The method according to claim 6, characterized in that, If it is determined that at least one type of information does not exist, generate the at least one type of information that does not exist, including: If it is determined that the material information does not exist, platform-independent material rendering data is generated.

8. A dynamically adaptable model data determination device, characterized in that, include: The acquisition module is used to acquire the first model data of the target scene, which includes the geometric structure data, vertex shading information, texture information and material information of each scene object in the target scene; The first processing module is used to establish a corresponding three-dimensional data index for the geometric structure data; The second processing module is used to establish the topological relationship between each geometric unit in the geometric structure data based on the three-dimensional data index. The third processing module is used to establish a corresponding shading information index for the vertex shading information; The fourth processing module is used to construct a first mapping relationship between each model vertex and texture map in the three-dimensional model of the target scene based on the texture information; The first determining module is used to determine the target material rendering interface corresponding to the material information, and the target material rendering interface is used to determine material rendering data adapted to the target graphics processor based on the material information. The second determining module is used to determine the three-dimensional data index, topological relationship, shading information index and first mapping relationship as model building data, so that the target graphics processor can render the three-dimensional model of the target scene based on the model building data and the material rendering data.

9. An electronic device, characterized in that, The electronic device includes: Memory, used to store computer program products; A processor is configured to execute a computer program product stored in the memory, wherein, when the computer program product is executed, it implements the method described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions, which, when executed, implement the method described in any one of claims 1-7.