Tree-structure-based object rendering method and apparatus, and electronic device, computer-readable storage medium and computer program product

By combining texture mapping complexity and view distance information for node evaluation, the display quality of 3D virtual objects is determined, solving the problem of uneven rendering quality caused by view distance adjustment in existing technologies, and achieving a more efficient virtual scene rendering effect.

WO2026056557A1PCT designated stage Publication Date: 2026-03-19TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 11 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-07-30
Publication Date
2026-03-19

AI Technical Summary

Technical Problem

In existing technologies, adjusting the display quality of virtual objects based on viewing distance can easily lead to poor image rendering quality, especially when the viewing distance is large, the rendering quality of distant objects is ignored, while when the viewing distance is small, the rendering quality of nearby objects is overemphasized.

Method used

By obtaining the object node evaluation list of 3D virtual objects in the virtual scene, and combining the image complexity of the target texture map and the size information of the node bounding box, the node is evaluated based on the camera view distance to determine whether the rendering and display conditions are met. When the conditions are met, the target node is rendered and displayed, while its child nodes are hidden.

Benefits of technology

It improves the rendering and display quality of virtual scenes, avoids the reduction in display quality for objects at a distance, and ensures that objects with a lot of information in their texture maps have good display quality, thereby improving rendering efficiency and image quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025111474_19032026_PF_FP_ABST
    Figure CN2025111474_19032026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the embodiments of the present application are a tree-structure-based object rendering method and apparatus, and an electronic device, a computer-readable storage medium and a computer program product. The method comprises: acquiring an object node evaluation list associated with a three-dimensional virtual object to be rendered in a virtual scene; acquiring an image complexity of a target texture map of a target node; on the basis of a target node bounding box to which the target node belongs, determining target size information of the target node bounding box, and on the basis of the target size information, a camera line-of-sight between the target node and a target camera, and the image complexity, performing node evaluation on the target node to obtain a node evaluation result; and if the node evaluation result indicates that the target node meets a rendering display condition and the target node is located within the field-of-view corresponding to the target camera, when the three-dimensional virtual object is rendered and displayed, rendering and displaying the target node, and performing node hiding on a child node of the target node.
Need to check novelty before this filing date? Find Prior Art

Description

Object rendering method and device based on tree structure, electronic device, computer readable storage medium and computer program product

[0001] Cross-reference to Related Applications

[0002] The present application is based on the Chinese patent application No. 202411298522.4, filed on September 14, 2024, and claims priority to the Chinese patent application No. 202411298522.4, the entire contents of which are incorporated herein by reference. TECHNICAL FIELD

[0003] The present application relates to the technical field of data processing, and in particular to an object rendering method and device based on tree structure, an electronic device, a computer readable storage medium and a computer program product. BACKGROUND

[0004] When rendering and displaying a virtual object in a virtual scene, the display quality of the virtual object to be rendered is usually adjusted based on the viewing distance (i.e., the distance between the virtual object and the camera).

[0005] However, in practice, it is found that directly determining the display quality of a virtual object (such as object X1 and object X2) based on the viewing distance can easily lead to poor final picture rendering quality. For example, in a virtual scene, when object X1 is far away from the camera (i.e., the viewing distance is large), the rendering and display quality of the object X1 can be ignored or even neglected when determining the display quality of the object X1 based on the viewing distance; on the contrary, when object X1 is close to the camera (i.e., the viewing distance is small), the rendering and display quality of the object X2 can be highlighted without difference when determining the display quality of the object X2 based on the viewing distance. SUMMARY

[0006] The embodiments of the present application provide an object rendering method and device based on tree structure, an electronic device, a computer readable storage medium and a computer program product, which can combine the image complexity of the texture map of a node to evaluate the node, and determine to render and display a three-dimensional virtual object based on the evaluation result of the node, thereby improving the rendering and display quality of the virtual scene.

[0007] An object rendering method based on tree structure according to an embodiment of the present application, the method comprising:

[0008] Obtaining an object node evaluation list associated with a three-dimensional virtual object to be rendered in a virtual scene; the object node evaluation list including a target node to be evaluated; the target node being a node in a target tree structure corresponding to the three-dimensional virtual object;

[0009] acquire image complexity of a target texture map corresponding to the target node; the image complexity of the target texture map is determined based on image information entropy of the target texture map;

[0010] determine target size information of a target node bounding box based on the target node bounding box to which the target node belongs;

[0011] perform node evaluation on the target node based on the target size information, a camera view distance between the target node and a target camera, and the image complexity, to obtain a node evaluation result of the target node;

[0012] if the node evaluation result indicates that the target node meets a rendering display condition and the target node is located within a field of view range corresponding to the target camera, render and display the target node and perform node hiding on child nodes of the target node when rendering and displaying the three-dimensional virtual object.

[0013] An object rendering device based on a tree structure is provided in an embodiment of the present application, and the device comprises:

[0014] an evaluation list acquisition module configured to acquire an object node evaluation list associated with a three-dimensional virtual object to be rendered in a virtual scene; the object node evaluation list comprises a target node to be evaluated; the target node is a node in a target tree structure corresponding to the three-dimensional virtual object;

[0015] a complexity acquisition module configured to acquire image complexity of a target texture map corresponding to the target node; the image complexity of the target texture map is determined based on image information entropy of the target texture map;

[0016] a size determination module configured to determine target size information of a target node bounding box based on the target node bounding box to which the target node belongs;

[0017] an evaluation result determination module configured to perform node evaluation on the target node based on the target size information, a camera view distance between the target node and a target camera, and the image complexity, to obtain a node evaluation result of the target node;

[0018] a rendering display module configured to, if the node evaluation result indicates that the target node meets a rendering display condition and the target node is located within a field of view range corresponding to the target camera, render and display the target node and perform node hiding on child nodes of the target node when rendering and displaying the three-dimensional virtual object.

[0019] An embodiment of the present application provides a computer readable storage medium, which stores a computer program, the computer program being suitable for being loaded and executed by a processor, so that a computer device having the processor performs an object rendering method based on a tree structure provided by an embodiment of the present application.

[0020] The embodiment of the present application provides a computer program product or a computer program, which comprises computer instructions stored in a computer readable storage medium. A processor of a computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions, so that the computer device executes the object rendering method based on a tree structure provided by the embodiment of the present application.

[0021] In the embodiment of the present application, the object node evaluation list associated with the three-dimensional virtual object to be rendered in the virtual scene is acquired. The target node in the target tree structure corresponding to the three-dimensional virtual object can be determined, and then the image complexity of the target texture map of the target node, the size information of the node bounding box of the target node, and the camera visual distance between the target node and the target camera are acquired, so that the target node is evaluated based on the image complexity, the size information and the camera visual distance, and the node evaluation result is obtained. Therefore, when the node evaluation result of the target node indicates that the rendering display condition is met, the target node is rendered and displayed when the three-dimensional virtual object is rendered and displayed, and the child nodes of the target node are hidden. That is, when the target node meets the rendering display requirement, the three-dimensional virtual object can be directly rendered and displayed based on the target node. Based on this, the node evaluation can be performed in combination with the image complexity of the texture map of the node, so that the rendering and display of the three-dimensional virtual object are determined based on the node evaluation result, avoiding rough reduction of the display quality of the virtual object far away from the visual distance, and the virtual object with a large amount of information carried by the texture map can also have good display quality, thereby improving the rendering and display quality of the virtual scene. BRIEF DESCRIPTION OF DRAWINGS

[0022] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are some embodiments of the present application, and other drawings can also be obtained by those skilled in the art without creative labor.

[0023] FIG. 1 is a structural schematic diagram of a data processing system provided by an embodiment of the present application;

[0024] FIG. 2 is a scene schematic diagram of an object rendering method based on a tree structure provided by an embodiment of the present application;

[0025] FIG. 3 is a flow schematic diagram of an object rendering method based on a tree structure provided by an embodiment of the present application;

[0026] FIG. 4 is an effect schematic diagram of a quadtree structure provided by an embodiment of the present application;

[0027] FIG. 5 is an effect diagram of a three-dimensional virtual object on different display quality levels according to an embodiment of the present application;

[0028] FIG. 6 is a comparison diagram of a texture map according to an embodiment of the present application;

[0029] FIG. 7 is a scene diagram of a bounding box division according to an embodiment of the present application;

[0030] FIG. 8 is an effect diagram of a view frustum of a target camera according to an embodiment of the present application;

[0031] FIG. 9 is a flow diagram of a rendering display process according to an embodiment of the present application;

[0032] FIG. 10 is a flow diagram of an object rendering method based on a tree structure according to an embodiment of the present application;

[0033] FIG. 11 is a flow diagram of a rendering process according to an embodiment of the present application;

[0034] FIG. 12 is a flow diagram of another rendering process according to an embodiment of the present application;

[0035] FIG. 13 is a scene diagram of a virtual scene rendering process according to an embodiment of the present application;

[0036] FIG. 14 is a structural diagram of an object rendering apparatus based on a tree structure according to an embodiment of the present application;

[0037] FIG. 15 is a structural diagram of a computer device according to an embodiment of the present application. DETAILED DESCRIPTION

[0038] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without any creative work fall within the protection scope of the present application.

[0039] First, the terms involved in the embodiments of the present application are briefly introduced.

[0040] (1) Virtual scene: The scene provided (or displayed) by an application when running on a terminal, which refers to a scene created for virtual objects to act in. The virtual scene can be a three-dimensional virtual scene, which can be a simulated scene of the real world, a semi-simulated and semi-fictional scene, or a purely fictional scene. The virtual scene can include various three-dimensional models, such as characters, animals, castles, railings, staircases, walls, trees, aircraft, and oceans, etc. In some embodiments, the virtual scene can also be referred to as a virtual space or a business space, which is not limited here.

[0041] (2) Three-dimensional virtual object: A virtual object instantiated by a three-dimensional model in a three-dimensional virtual scene. The virtual scene includes multiple virtual objects, each of which has its own shape and volume in the virtual scene and occupies a part of the space in the virtual scene.

[0042] (3) Quadtree structure: A tree-like data structure that can include nodes at multiple node division levels, with each node having at most four child nodes. It is commonly used for the analysis of spatial data, such as the model data of three-dimensional virtual objects in this application. The quadtree divides data into four quadrants or regions, and is suitable for square, rectangular, or other arbitrary-shaped data ranges.

[0043] (4) LOD (Levels of Detail): A technique for optimizing the rendering of three-dimensional models, which dynamically adjusts the level of detail (also known as the display quality level) of a model based on its position and importance in the display environment to optimize rendering performance. For example, the display quality level of a three-dimensional virtual object can be divided into three levels, such as the lowest level, the intermediate level, and the highest level, with different levels of model data having different levels of detail or degrees of detail. Generally, the display quality level of a three-dimensional virtual object in a virtual scene can be dynamically adjusted, such as reducing the number of faces and the level of detail of non-important objects in the virtual scene (i.e., using the lowest display quality level of model data for rendering), to improve rendering efficiency while maintaining image quality.

[0044] Please refer to FIG. 1, which is a structural schematic diagram of a data processing system provided by an embodiment of the present application. As shown in FIG. 1, the data processing system can include terminal devices (such as device 11a, device 12a, and device 13a) and a server 100a. In some embodiments, the number of terminal devices and servers in FIG. 1 is merely illustrative, and any number of terminal devices and servers can be provided according to implementation needs. The terminal devices (such as device 11a, device 12a, and device 13a) can communicate with the server through a network (i.e., through a wired, wireless communication link, or an optical fiber cable, etc., to provide a communication link medium), and then transmit data.

[0045] In some embodiments, a client can be run on a terminal device (such as device 12a), which can be a program providing local services for a user (also referred to as a business object or an operation object). The server 100a can be a server corresponding to the client, and a program for providing resources, service data, etc., to the client can be run in the server 100a. In some embodiments, the client run on the terminal device can also be referred to as an application client, a business client, etc. For example, the client run on the terminal device can be configured as a client for displaying a virtual scene, such as a game client, a map navigation client, etc., so that the user can view the picture of the virtual scene through the client. In some embodiments, the server can be configured to render a picture (i.e., an image frame) of a virtual scene, and send the rendered image frame to the client for display.

[0046] In some embodiments, the terminal device (such as device 11a) can include, but is not limited to, a mobile phone, a computer, a smart voice interaction device, a smart home appliance, a vehicle-mounted terminal, an aircraft, a smart speaker, a smart home appliance, etc., which are not limited here. The server 100a can be a standalone physical server, a server cluster or a distributed system composed of multiple physical servers, a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, and basic cloud computing services such as big data and artificial intelligence platforms, which are not limited here.

[0047] Please refer to FIG. 2, which is a scene diagram of a tree structure-based object rendering method provided in an embodiment of the present application. As shown in FIG. 2, an object node evaluation list 201a associated with a three-dimensional virtual object to be rendered in a virtual scene can be obtained, which can include nodes to be evaluated, such as node J01, node J02, node J03, …, node J04, and the like. In some embodiments, the number of three-dimensional virtual objects in the virtual scene can be one or more, and the nodes in the object node evaluation list can be nodes in a target tree structure corresponding to all or part of the three-dimensional virtual objects, which is not limited here. In some embodiments, one target tree structure can be composed of nodes at multiple node division levels obtained by dividing one three-dimensional virtual object into nodes.

[0048] In some embodiments, the object node evaluation list can include a target node, which can be any node in the object node evaluation list, and then the target node can be determined from the object node evaluation list (as shown in 202a in FIG. 2). In some embodiments, the image complexity of the target texture map corresponding to the target node (as shown in 203a in FIG. 2), the target size information of the target node bounding box of the target node (as shown in 204a in FIG. 2), and the camera view distance between the target node and the target camera (as shown in 205a in FIG. 2) can be obtained. The image complexity can be used to describe the amount of information contained in the texture map corresponding to the node, the target size information can be information describing the size of the target node bounding box, and the camera view distance can be the distance between the center position of the node bounding box and the position of the target camera. In some embodiments, the purpose of node evaluation is to determine whether the display quality of the node object corresponding to the node needs to be improved or reduced, so as to select the most suitable display quality for the three-dimensional virtual object in the virtual scene. If a three-dimensional virtual object is displayed with too high display quality, more time is needed to render the three-dimensional virtual object, and if a three-dimensional virtual object is displayed with too low display quality, the quality of the rendered virtual scene will be too poor. Therefore, the display quality most suitable for each three-dimensional virtual object can be selected according to the information of multiple dimensions of each virtual object, so as to improve the rendering display quality while ensuring the efficiency of rendering, for example, a three-dimensional virtual object that is easy to observe for an observer (i.e., a user viewing the picture of the virtual scene, such as a game user in a game scene) (such as a three-dimensional virtual object with high image complexity, small camera view distance, or large size) can be displayed with the best display quality, and a three-dimensional virtual object that is not easy to observe for an observer (such as a three-dimensional virtual object with low image complexity, large camera view distance, or small size) can be displayed with relatively low display quality.

[0049] In some embodiments, the target node can be evaluated based on the target size information, the camera view distance and the image complexity to obtain a node evaluation result of the target node (as shown in 206a in FIG. 2). The node evaluation result can be used to indicate that the target node meets the rendering display condition, or can be used to indicate that the target node does not meet the rendering display condition. The rendering display condition can be a condition required to be met based on the corresponding node rendering display timing. For example, the rendering display condition can be that the evaluation index of the target node is greater than a first value (such as 1). The evaluation index can be a value used to evaluate whether the display quality of a node meets the current display quality requirement. The evaluation index can be a value determined based on the target size information, the camera view distance and the image complexity.

[0050] In some embodiments, if the node evaluation result indicates that the target node meets the rendering display condition, and the target node is located in the field of view range corresponding to the target camera, the target node is rendered and the child nodes of the target node are hidden (as shown in 207a in FIG. 2) when rendering the three-dimensional virtual object. The field of view range of the target camera can be a range visible to the target camera. The field of view range can be a spatial range indicated by the view cone corresponding to the target camera. In some embodiments, if the node evaluation result indicates that the target node meets the rendering display condition, it means that the target node can meet the display quality requirement of the three-dimensional virtual object, and the three-dimensional virtual object can be directly rendered based on the target node, that is, the display quality corresponding to the target node can be maintained, and the display quality of the target node does not need to be improved or reduced. Therefore, when rendering the three-dimensional virtual object, the target node can be rendered (that is, the node object corresponding to the target node is rendered), and the child nodes of the target node can be hidden.

[0051] The embodiments of the present application can be applied to various business scenarios, such as a rendering scenario of a city three-dimensional model. That is, the three-dimensional virtual object can be an object corresponding to the city three-dimensional model. The virtual object corresponding to the city three-dimensional model can be rendered based on the object rendering method based on the tree structure provided by the embodiments of the present application to realize in-depth analysis of city layout, traffic flow and building design. For example, the embodiments of the present application can also be applied to a virtual reality scenario. A user can immerse in a realistic virtual environment generated by the embodiments of the present application through a device to experience a virtual reality scenario, such as experiencing remote travel or historical scene reproduction, and the like. In addition, the embodiments of the present application can also be applied to a game scenario. The virtual object in the game can be rendered by the embodiments of the present application to obtain a game picture, thereby providing a player with a more rich and dynamic virtual world and enhancing the immersion and interactivity of the game.

[0052] It should be noted that, before collecting the relevant data of the user and in the process of collecting the relevant data of the user, a prompt interface, a pop-up window or voice prompt information can be displayed, which is used to prompt the user that the relevant data of the user is being collected, so that the application starts to perform the related steps of obtaining the relevant data of the user only after obtaining the confirmation operation of the user to the prompt interface or the pop-up window, otherwise (that is, without obtaining the confirmation operation of the user to the prompt interface or the pop-up window), the relevant steps of obtaining the relevant data of the user are ended, that is, the relevant data of the user is not obtained. In other words, all the user data collected by the application is collected under the condition that the user agrees and authorizes, and the collection, use and processing of the relevant user data need to comply with the relevant laws, regulations and standards of the country and region.

[0053] In some embodiments, the cloud server described above can be a standalone physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, and basic cloud computing services such as big data and artificial intelligence platforms. The terminal device described above includes but is not limited to a mobile phone, a computer, a smart voice interaction device, a smart home appliance, a vehicle-mounted terminal, an aircraft, a smart speaker, a smart home appliance, and the like.

[0054] It can be understood that the above scenarios are only examples and do not constitute a limitation on the application scenarios of the technical solutions provided by the embodiments of the application. The technical solutions provided by the embodiments of the application are also applicable to other scenarios. For example, those skilled in the art can know that, as the system architecture evolves and new business scenarios appear, the technical solutions provided by the embodiments of the application are also applicable to similar technical problems.

[0055] Please refer to FIG. 3, which is a flowchart of a tree structure-based object rendering method according to an embodiment of the application. The method can be performed by the terminal device or the server described above, for example, the terminal device can be the device 11a described above, and the server can be the server 100a described above. The method can include at least the following steps S101-S105.

[0056] S101, obtaining an object node evaluation list associated with a three-dimensional virtual object to be rendered in a virtual scene.

[0057] In some embodiments, the object node evaluation list includes a target node to be evaluated; the target node is a node in a target tree structure corresponding to the three-dimensional virtual object.

[0058] In some embodiments, the three-dimensional virtual object can be an object to be rendered in a virtual scene. The three-dimensional virtual object can be associated with a corresponding target tree structure. The target tree structure can be a tree structure composed of nodes for node partitioning of the three-dimensional virtual object, or can be a tree structure composed of nodes corresponding to node model data obtained by model data partitioning of model data corresponding to the three-dimensional virtual object. The target tree structure can include nodes at multiple node partitioning levels. A node partitioning level can refer to a level at which a node is located in the tree structure. For example, the node partitioning level of a root node can be a root level, the node partitioning level of a child node of the root node can be a first level, nodes at the first level can be first level nodes, the node partitioning level of a child node of a first level node can be a second level, nodes at the second level can be second level nodes, and so on. Each node can have a corresponding node partitioning level. In some embodiments, the target tree structure can be a quadtree structure, an octree structure, or the like, which is not limited here. For example, in a quadtree structure, each node can include at most four child nodes. For example, a root node can include at most four first level nodes, and each first level node can include at most four second level nodes. In an octree structure, each node can include at most eight child nodes. For example, a root node can include at most eight first level nodes, and each first level node can include at most eight second level nodes.

[0059] In some embodiments, when node partitioning of the three-dimensional virtual object is performed, model data of the three-dimensional virtual object at each display quality level can be subjected to model data partitioning to obtain node model data of nodes at a node partitioning level corresponding to each display quality level. Then, based on the node model data of the nodes at each node partitioning level, the nodes at each node partitioning level can be determined, each node being associated with corresponding node model data. For example, the node model data of each node can be added to a corresponding empty node (i.e., a node without added node attribute data) to obtain a node with added node model data, and thus the target tree structure can be determined based on the node with added node model data.

[0060] In some embodiments, the same three-dimensional virtual object can have different model data at different display quality levels, and thus the display quality of the object rendered based on the model data at different display quality levels is different. For example, the lower the display quality level, the fewer the number of patches in the model data of the three-dimensional virtual object at the corresponding display quality level, the worse the texture quality of the texture map, and the worse the display quality of the three-dimensional virtual object rendered and displayed based on the corresponding model data. Conversely, the higher the display quality level, the more the number of patches in the model data of the three-dimensional virtual object at the corresponding display quality level, the better the texture quality of the texture map, and the better the display quality of the three-dimensional virtual object rendered and displayed based on the corresponding model data.

[0061] In some embodiments, the model data is a complete digital description of a three-dimensional virtual object at a certain display quality level, including basic information such as geometry, texture map, material attribute, etc. Its core role is to define the visual representation and physical characteristics of the object, and the difference in model data at different display quality levels directly affects the display effect after rendering. The same three-dimensional object has different model data at different display quality levels. For example: low quality level: small number of patches (such as simplified geometry), low texture resolution (such as blurred map), small amount of calculation when rendering but rough visual effect. High quality level: large number of patches (such as fine surface details), high texture resolution (such as 4K map), realistic rendering effect but large consumption of computing resources. Model data usually includes complete geometric information (vertices, edges, faces), texture coordinates, material parameters (such as diffuse reflection, highlight), and possible animation or physical properties.

[0062] In some embodiments, node model data is the specific data set of each node at the corresponding display quality level after the model data of a three-dimensional object is split by node division level. It is bound to nodes through hierarchical structure (such as tree scene graph), realizing fine management of data at different detail levels. Model data is divided into multiple nodes, each node representing a sub-part or level of the object. For example, a character model can be split into head, torso, limbs, etc. nodes, and each node corresponds to independent model data at different quality levels. Node model data is combined with empty nodes (nodes without attribute data) to form complete node-data binding. For example, add low-quality head model data to an empty node, and the node has the rendering capability of a low-quality head. Node model data supports dynamic switching of data at different quality levels. For example, when the camera is close to the character, automatically load high-quality head model data; switch to low-quality data when far away, avoiding calculation redundancy.

[0063] In some embodiments, one node division level in the target tree structure can correspond to one display quality level. For example, the lowest display quality level in the display quality levels of the three-dimensional virtual object can correspond to the node division level corresponding to the root node in the target tree structure, the second lowest display quality level in the display quality levels of the three-dimensional virtual object can correspond to the node division level corresponding to the child node (i.e., the first level node) of the root node in the target tree structure, and so on. In this way, the three-dimensional virtual object can be divided into nodes at each display quality level, and the nodes at the node division level corresponding to each display quality level can be obtained, so as to construct the target tree structure based on the divided nodes.

[0064] In some embodiments, the model data of the three-dimensional virtual object at each display quality level can be divided into node model data of the nodes at the node division level corresponding to each display quality level, which can include: obtaining a to-be-divided object determined based on the model data at the target display quality level (i.e., any one of the plurality of display quality levels), then establishing a node coordinate system for the to-be-divided object, and then dividing the to-be-divided object into a plurality of sub-objects based on each quadrant of the node coordinate system, that is, the part of the to-be-divided object located in each quadrant can be determined as a sub-object. Then, each sub-node of the node corresponding to the to-be-divided object is determined based on each sub-object, that is, the model data (such as the face, vertex, texture, etc. of each sub-object) of each sub-object can be determined based on the model data at the display quality level (i.e., the next display quality level of the target display quality level) corresponding to each sub-object, and then the node model data of each sub-node of the node corresponding to each sub-object can be determined based on the model data of each sub-object, that is, the node model data of each node at the node division level corresponding to the target display quality level can be obtained, and then the corresponding node can be determined based on the node model data of each node. The model data of one sub-object is used to determine the node model data of one node.

[0065] In some embodiments, the target tree structure is a hierarchical organization form of the three-dimensional virtual object, in which each node division level strictly corresponds to a display quality level, forming a one-to-one mapping of "tree level-quality level". This correspondence is achieved through a progressive structure "from root to leaf", the root node division level: corresponding to the lowest display quality level of the three-dimensional virtual object. The root node represents the overall framework of the object, and its model data is the simplest (such as the least number of patches, the lowest resolution texture), which is used for fast rendering of distant or low-performance scenes. The first level node (the child node of the root node): corresponding to the second low display quality level. This level adds details on the basis of the root node, and the model data is more abundant than the root node (such as more patches, higher definition texture). Deeper level nodes: in this way, the deeper the level of nodes in the tree structure (such as the child nodes of the child nodes), the higher the corresponding display quality level, and the more detailed the model data (such as the number of patches close to the original details of the object and the quality of the texture).

[0066] In some embodiments, through the hierarchical index of the tree structure, the required display quality level of the current scene (such as according to the camera distance, device performance) can be quickly located, and the node model data of the corresponding node division level is directly called to avoid loading redundant data. Integrating scattered display quality level data into a tree structure facilitates the implementation of "parent-child node linkage" (such as synchronous transformation of child nodes when the parent node moves) and "partial detail update" (such as replacing only the high-quality data of a certain child node). For the target display quality level (such as any display quality level), the complete model data under this level is extracted as the "object to be divided". For example, if the target level is "medium display quality", the object to be divided is the model data under this level (containing a medium number of patches and textures). An independent "node coordinate system" (usually with the geometric center or key vertex of the object as the origin) is established for the object to be divided, which is used to define the spatial reference of the division. The axes (such as X, Y, Z axes) of the coordinate system are determined according to the morphology of the object (such as the character model with the center of the torso as the origin, and the terrain model with the center of the region as the origin).

[0067] In some embodiments, the link of the display quality level -> model data -> coordinate system division -> sub-object -> node model data -> sub-node realizes the hierarchical management of the three-dimensional virtual object from "overall to local" and "low quality to high quality". The essence is to discretize the continuous model data into a tree node through spatial division (quadrant / octant), and each node carries the details of the corresponding quality level, and finally realizes the efficient rendering target of "on-demand loading and dynamic switching" (such as using root node low-quality data for far view and using leaf node high-quality data for near view). In some embodiments, the object to be divided can be the three-dimensional virtual object, or it can be a sub-object divided from the three-dimensional virtual object, which is not limited here. The node coordinate system can be a coordinate system created for the object to be divided. The origin of the node coordinate system can be the center position of the object to be divided. Each coordinate axis (such as x-axis, y-axis, z-axis) can be determined according to actual needs, such as the coordinate axis can be parallel to the scene coordinate system of the virtual scene, or it can be determined according to the geometric shape of the three-dimensional virtual object, which is not limited here. In some embodiments, each quadrant of the node coordinate system can be a quadrant divided based on a quadrant division coordinate axis. The quadrant division coordinate axis can refer to the coordinate axis used to divide the quadrant. For example, when the tree structure is a quadtree structure, the node coordinate system can be divided into 4 quadrants. Two quadrant division coordinate axes can be determined from the coordinate axes of the node coordinate system, and then 4 quadrants can be determined based on the two quadrant division coordinate axes. For example, the two quadrant division coordinate axes can be x-axis and y-axis, or x-axis and z-axis, or y-axis and z-axis, which is not limited here. For example, when the tree structure is an octree structure, the node coordinate system can be divided into 8 quadrants. Then, the three coordinate axes of the node coordinate system can be determined as the quadrant division coordinate axes, and then 8 quadrants can be determined based on the three quadrant division coordinate axes.

[0068] For example, when the target tree structure is a quadtree structure, the three-dimensional virtual object can be determined as the object to be divided, and then 4 quadrants can be determined for the node coordinate system of the three-dimensional virtual object. Then, a sub-node can be determined based on the sub-object of the three-dimensional virtual object in each quadrant, to obtain the first level node. Or, the node model data of the node corresponding to each sub-object can be determined based on the model data corresponding to each sub-object, and then the corresponding node (i.e. the first level node) can be determined based on the node model data of each node. In some embodiments, the sub-object corresponding to each first level node can be determined as the object to be divided, and then the object division of each first level node into 4 sub-objects can be determined for the 4 quadrants of the node coordinate system of each first level node. Thus, a node can be determined based on each sub-object, and so on, to obtain the nodes at multiple node division levels, and then the target tree structure can be constructed.

[0069] For example, please refer to FIG. 4, which is an effect diagram of a quadtree structure provided by an embodiment of the present application. As shown in the quadtree structure of FIG. 4, three node division levels can be included, specifically, a root level, a first level and a second level. The root level includes only one root node a1, and four first level nodes (i.e., nodes on the first level) can be divided from the root node a1, such as nodes b1, b2, b3 and b4. In some embodiments, each first level node can be divided into four second level nodes (i.e., nodes on the second level), such as nodes c1-c4 under node b1, nodes c5-c8 under node b2, nodes c9-c12 under node b3, and nodes c13-c16 under node b4.

[0070] In some embodiments, before initially loading the data of the virtual scene, a target tree structure can be constructed for each three-dimensional virtual object in the virtual scene, so that when subsequently rendering and displaying a picture (i.e., an image frame) in the virtual scene, node evaluation can be performed based on the constructed target tree structure, and the three-dimensional virtual object can be displayed based on the node evaluation result obtained by the node evaluation. Thus, the model data corresponding to the most suitable display quality level of the three-dimensional virtual object can be determined based on the node evaluation result, and the three-dimensional virtual object can be rendered and displayed based on the model data corresponding to the most suitable display quality level, so that the rendering efficiency of the three-dimensional virtual object can be ensured while the display quality of the three-dimensional virtual object is improved.

[0071] Specifically, the embodiments of the present application can further include: obtaining a root node of a target tree structure to be created corresponding to a three-dimensional virtual object and a node source information list of the root node; the node source information list including node source information of each node of the target tree structure to be created; the node source information of each node of the target tree structure including a corresponding node division level; determining the root node as an inserted node, determining target node source information to be added to the target tree structure from the node source information list; when the node division level of the target node source information is a next node division level of the inserted node, obtaining a to-be-processed node under the inserted node; the to-be-processed node being a node without added node source information among the child nodes of the inserted node; obtaining quadrant information corresponding to the target node source information, determining a target to-be-processed node to which the target node source information is to be added from the to-be-processed nodes of the inserted node based on the quadrant information, and adding the target node source information to the target to-be-processed node; determining the target tree structure corresponding to the three-dimensional virtual object based on the target to-be-processed node to which the target node source information is added.

[0072] The root node refers to the starting point of the tree structure, and all other nodes start from the root node. The root node is unique in a tree structure. The root node can be added with node source information of the node corresponding to the whole three-dimensional virtual object.

[0073] The node source information list includes node source information of each node of the target tree structure to be created. The node source information can include node attribute data of each node, such as node attribute data can include node division level corresponding to the node, name of the node, quadrant information corresponding to the node, string format information of the node division level corresponding to the node, and the like. The name of the node can be a name for uniquely identifying the node in the target tree structure of the three-dimensional virtual object. The quadrant information can be used to indicate the information of the quadrant in which the node is located in the node coordinate system corresponding to the parent node of the object. For example, in a quadtree structure, the quadrant information of a node can be the information of the quadrant in the four quadrants of the node coordinate system corresponding to the parent node, such as the four quadrants can be the left lower corner LL (quadrant 3), the right lower corner LR (quadrant 4), the left upper corner UL (quadrant 2), and the right upper corner UR (quadrant 1) of the node coordinate system, respectively represented by integers 0, 1, 2, and 3. The string format information can refer to the information of the node depth level represented by the string format. In some embodiments, the node division level of the node obtained based on the file name of the model data corresponding to the node can be represented by the string format, and then the string format information of the obtained node division level can be converted into an integer form of the node division level, so as to take the integer form of the node division level as the node division level in the above node attribute data, such as the node division level in the string format can be converted into the integer form of the node division level by using the int.Parse() function (a data format conversion function).

[0074] The inserted node can refer to a node for adding node source information in its child node, such as the root node can be taken as the inserted node. The target node source information can be node source information to be added to the target tree structure, and the target node source information can be any node source information of a node not added to the target tree structure.

[0075] Thus, starting from the root node and the node source information list containing the node division levels, the root node is taken as the initial inserted node, the target node source information is screened according to the node division level matching, the node source information is accurately inserted into the target tree structure in combination with the to-be-processed node (a child node without added information) and the quadrant information, the insertion is judged from the root node as the starting point and relying on the node division level, and the hierarchical progressive relationship of the target tree structure from the top layer to the bottom layer is ensured to be clear and orderly, the node level confusion is avoided, and the foundation for hierarchical management of the tree structure is laid. The setting of the to-be-processed node (using a child node without added information) realizes the pre-reservation of the node position, reduces the resource consumption of temporary creation of nodes, improves the efficiency of tree structure construction, determines the target to-be-processed node based on the quadrant information, associates the node source information with the spatial quadrant, makes the tree structure not only contain hierarchical logic but also integrate spatial position information, and provides accurate structural support for subsequent spatial management (such as collision detection and view frustum culling) and display quality level adjustment (such as LOD technology based on levels) of three-dimensional virtual objects. Through the ordered node source information insertion logic, the integrity of the target tree structure and the accurate correspondence of the node information are ensured, a stable and expandable basic framework is provided for subsequent operations such as efficient rendering and dynamic detail management of three-dimensional virtual objects, and the overall efficiency of three-dimensional scene processing is improved.

[0076] In some embodiments, if the node division level of the target node source information is the next node division level of the inserted node, it means that the target node source information can be the node source information corresponding to the child node of the inserted node, and therefore, any child node without added node source information among the child nodes of the inserted node can be determined as the to-be-processed node. In the embodiments of the present application, the node source insertion function of adding node source information to the target tree structure can be called to realize adding the target node source to the node in the target tree structure, that is, inserting the target node source into the target tree structure.

[0077] In some embodiments, the child nodes of the inserted node can be in a "null node" state (i.e., a node container is created, but no node source information is bound), and the role of these null nodes is to reserve "child node positions" and wait for matching node source information to fill. Since the target node source information is exactly one level below the inserted node, it "matches the level" with these null child nodes, and the target node source information can be directly added to any one of the null child nodes, which becomes a "to-be-processed node" (which will be assigned specific node source information later). The target node source information (including model data, attribute parameters, etc. of the node) is bound to the to-be-processed node (null node), so that the null node becomes a "child node with actual content". Finally, the target node source information is "accessed" to the target tree structure, maintaining the level integrity of the tree structure (the hierarchical relationship between parent nodes and child nodes remains unchanged). The to-be-processed node is a node in the child nodes of the inserted node that has not added node source information. For example, when the target tree structure is a quadtree structure, the child nodes of the inserted node can include 4 child nodes, namely node b1, node b2, node b3, and node b4. If none of the 4 child nodes has added node source information, all of the 4 child nodes are to-be-processed nodes. If only node b1 and node b2 have not added node source information, node b1 and node b2 are to-be-processed nodes.

[0078] In some embodiments, when a node (such as a root node) is first inserted as an inserted node (i.e., when node source information is first added to the target tree structure), null child nodes can be created under the inserted node (such as 4 null child nodes when the target tree structure is a quadtree structure), which is equivalent to initializing empty nodes that will be added with node source information. The null child nodes created under the inserted node can then be used as to-be-processed nodes under the inserted node, where the null child nodes are nodes that have not added node source information. Alternatively, an initial tree structure can be created based on the maximum node division level of each node before adding node source information to the target tree structure, where each node in the initial tree structure has not added node source information except the root node. Then, each node source information is added to the initial tree structure to obtain the target tree structure.

[0079] In some embodiments, the introduction of the quadrant information can refer to the related description above, and will not be repeated here. The target to-be-processed node can be a to-be-processed node to which the target node source information is to be added. In the target tree structure, each child node under a node (such as a root node) can correspond to a quadrant, and thus the target to-be-processed node to which the target node source information is to be added can be determined from the to-be-processed nodes of the inserted node based on the quadrant information. For example, when the target tree structure is a quadtree structure, the to-be-processed nodes under the inserted node can include 4 child nodes, namely node b1, node b2, node b3, and node b4, wherein the node b1, the node b2, the node b3, and the node b4 correspond to the quadrant 1, the quadrant 2, the quadrant 3, and the quadrant 4, respectively. If the quadrant information corresponding to the target node source information is the quadrant 1, the node b1 in the to-be-processed nodes can be taken as the target to-be-processed node.

[0080] In some embodiments, the target node source information can be added to the target to-be-processed node, and then the target tree structure corresponding to the three-dimensional virtual object can be determined based on the target to-be-processed node to which the target node source information is added. After each node source in the node source list is taken as the target node source information, each node source information can be added to the corresponding target to-be-processed node, so that the node to which each node source information is added can be determined as the target tree structure.

[0081] The embodiments of the present application can further include the following steps: when the node division level of the target node source information is not the next node division level of the inserted node, a first level node created under the root node is obtained, a first level node to which the target node source belongs is determined from the first level node, and the first level node to which the target node belongs is determined as the updated inserted node; the first level node is a node at the next node division level of the root node; in some embodiments, when the node division level of the target node source information is the next node division level of the updated inserted node, to-be-processed nodes under the updated inserted node are obtained; the to-be-processed child nodes are nodes in the child nodes of the inserted node that have not added node source information; the target to-be-processed node to which the target node source information is to be added is determined from the to-be-processed nodes of the updated inserted node based on the quadrant information; the target node source information is added to the target to-be-processed node, and the target tree structure corresponding to the three-dimensional virtual object is determined based on the target to-be-processed node to which the target node source information is added.

[0082] Thus, when the level of the target node source information does not match the current inserted node, the updated inserted node is located layer by layer from the first level node of the root node, and the node source information is added to the corresponding to-be-processed node to construct the target tree structure in combination with the quadrant information. The layer-by-layer finding mechanism (starting from the first level node) when the levels do not match strictly follows the rule of "parent node level + 1 = child node level", ensuring that each node source information can be accurately inserted into the target level, avoiding the disorder of the tree structure, and guaranteeing the rigor of the level logic of the target tree structure. The pre-setting of the to-be-processed node (a child node without added information) provides a ready-to-insert carrier for the node source information, reduces the redundant operation of dynamically creating nodes, improves the efficiency of tree structure construction, determines the target to-be-processed node based on the quadrant information, binds the node source information with the spatial quadrant, so that the target tree structure not only contains the hierarchical relationship, but also integrates the spatial position attribute, providing structured support for subsequent spatial retrieval of three-dimensional virtual objects (such as judging whether a node is within a view frustum) and local detail management (such as adjusting the display quality for a specific quadrant node); finally, the entire process ensures the integrity of the target tree structure and the accurate correspondence of each node information through orderly level matching, spatial positioning and information insertion, laying a stable foundation for subsequent operations such as hierarchical rendering and dynamic detail loading of three-dimensional virtual objects, and effectively improving the systematicness and efficiency of three-dimensional scene management.

[0083] If the node division level of the target node source information is not the next node division level of the inserted node, it means that the target node source information is not the node source information corresponding to the child node of the inserted node, so the child node of the current inserted node (i.e. the first level node under the root node) can be taken as the new inserted node (i.e. the updated inserted node), and then it is determined whether the node division level of the target node source information is the next node division level of the new inserted node. If yes, the above steps of obtaining the to-be-processed node under the inserted node, obtaining the quadrant information corresponding to the target node source information, determining the target to-be-processed node to which the target node source information is to be added based on the quadrant information, and adding the target node source information to the target to-be-processed node can be repeated. If not, the child node (i.e. the second level node) of the current inserted node (i.e. the first level node) is taken as the new inserted node, and so on, until the node division level of the target node source information is the next node division level of the inserted node.

[0084] In some embodiments, when the level of the target node source information does not match the level of the current inserted node, first search from the direct child node of the root node (the first level node). The level of the first level node is "root node level + 1" (for example, if the root node is the 0th level, the first level node is the 1st level). Function: take the first level node as the "new inserted node candidate", check whether it meets the "parent node condition". Check the first level node (new candidate inserted node): judge whether the "level of the target node source information" is equal to "level of the first level node + 1". If it matches (for example, the target level is the 2nd level, the first level node is the 1st level, and 1+1=2): then the first level node is the "updated inserted node" (i.e. the parent node of the target node), and the subsequent adding process is entered. If it does not match (for example, the target level is the 3rd level, the first level node is the 1st level, and 1+1=2≠3): then continue to search down. If the first level node does not match, take its child node (the second level node, the 2nd level) as the "new inserted node candidate", and repeat the check: whether the target level is equal to "level of the second level node + 1" (for example, 2+1=3?). If it still does not match, continue to iterate down to the "third level node", "fourth level node", and so on, until a node of a certain level is found to meet: the level of the target node source information = the level of the node + 1. At this time, the node is the "final inserted node" (the parent node of the target node).

[0085] In the embodiments of the present application, a node source insertion function for adding node source information to the target tree structure can be called to insert the target node source information into the corresponding child node (i.e. the determined target node to be processed) under the inserted node. The parameters of the node source insertion function can be the inserted node and the target node source information. Based on this, when the node division level of the target node source information is not the next node division level of the inserted node, the inserted node can be updated, so as to iteratively call the node source insertion function, thereby adding the target node source information to the corresponding child node under the inserted node.

[0086] In some embodiments, the first hierarchical node to which the target node source belongs can be determined by a hierarchical quadrant obtaining function, the quadrant information of the target node source on the node partition hierarchy of the first hierarchical node is determined, and then the first hierarchical node to which the target node source belongs is determined based on the quadrant information of the target node source on the node partition hierarchy of the first hierarchical node. The hierarchical quadrant obtaining function can be used to obtain the quadrant information of a node on a specified node partition hierarchy (such as the first hierarchy), for example, the parameters of the hierarchical quadrant obtaining function can be the specified node partition hierarchy (such as the first hierarchy) and the name corresponding to the node source information. If the input node partition hierarchy is greater than the node partition hierarchy corresponding to the node source information, the quadrant information on the input node partition hierarchy cannot be obtained, that is, the hierarchical quadrant obtaining function can only be used for the quadrant information of the upper layer of the node, and it is meaningless to obtain the quadrant information of the lower layer of the node.

[0087] In some embodiments, when the node partition hierarchy of the target node source information is the next node partition hierarchy of the updated inserted node, the method for adding the target node source information to the child nodes under the updated inserted node can refer to the related description of adding the target node source information to the child nodes under the inserted node, which will not be repeated here.

[0088] Specifically, the node source information of each node of the target tree structure includes corresponding model data information; then the embodiments of the application can further include the following steps: obtaining model data of a three-dimensional virtual object on a plurality of display quality hierarchies, performing model data division on the model data on each display quality hierarchy to obtain node model data corresponding to nodes on the node partition hierarchy corresponding to each display quality hierarchy; one display quality hierarchy corresponds to one node partition hierarchy; determining the node source information of each node in the target tree structure to be created based on the model data information of the node model data corresponding to each node and the node partition hierarchy of each node; the node model data corresponding to a node is used to determine the node source information of the node.

[0089] In some embodiments, based on the above description, the introduction of the display quality hierarchy can refer to the related description above, which will not be repeated here.

[0090] In some embodiments, the model data can refer to the geometric structure data corresponding to the three-dimensional virtual object. The model data is stored in a model file. The model data can at least include the geometric data of the model of the three-dimensional virtual object (such as the vertex coordinates, normal vectors, and face information of the model), texture mapping data (including texture coordinates and texture maps of the model), which is not limited here.

[0091] In some embodiments, the model data at different display quality levels can differ in the degree of refinement of the model, for example, the higher the display quality level, the more the number of patches in the corresponding model data, and vice versa, the lower the display quality level, the fewer the number of patches in the corresponding model data.

[0092] In this way, the display quality level is one-to-one corresponding to the node division level, so that model data of different refinement degrees can be accurately associated with the corresponding level of the tree structure, providing direct data support for subsequent dynamic adjustment of display quality based on the level (such as LOD technology), ensuring that different quality model data can be called as needed during rendering, balancing performance and picture quality, generating node model data by dividing model data, and determining node source information accordingly, so that the information of each node is closely bound to specific model data, ensuring the accuracy and integrity of the node information in the tree structure, and avoiding mismatch between data and nodes. The node source information generation method based on the level and the model data lays a clear logical foundation for the construction of the target tree structure, so that the tree structure can not only reflect the hierarchical organization of three-dimensional virtual objects (from the root node to the deep child nodes), but also reflect the detail differences of different quality levels, facilitating efficient management of nodes (such as quickly locating a level node, batch updating model data) in the future, and ultimately improving the overall efficiency of loading, rendering and interaction of three-dimensional virtual objects in a virtual scene.

[0093] For example, please refer to FIG. 5, which is an effect diagram of a three-dimensional virtual object at different display quality levels provided by an embodiment of the present application. As shown in FIG. 5, a three-dimensional virtual object can be associated with model data at three-dimensional display quality levels, for example, the three-dimensional virtual object shown in 501a in FIG. 5 is a three-dimensional virtual object corresponding to display quality level K3, which is the lowest display quality level. The three-dimensional virtual object shown in 502a in FIG. 5 is a three-dimensional virtual object corresponding to display quality level K2, which is the second lowest display quality level. The three-dimensional virtual object shown in 503a in FIG. 5 is a three-dimensional virtual object corresponding to display quality level K1, which is the highest display quality level. As can be seen, the number of patches in three-dimensional virtual object 503a is more than that in three-dimensional virtual object 502a, and more than that in three-dimensional virtual object 501a, that is, display quality level K1 is higher than display quality level K2, and higher than display quality level K3.

[0094] In some embodiments, the node model data can be model data corresponding to a node. The model data division can be used to indicate that the model data corresponding to each node is obtained based on the complete model data division on the corresponding display quality level. One display quality level corresponds to one node division level, for example, the node division level corresponding to the root node corresponds to the highest display quality level, the node division level corresponding to the first level node corresponds to the second highest display quality level, and so on, which will not be described here. Based on the nodes on each node division level, the model data on each display quality level is divided into model data, which can include determining the objects corresponding to each node according to the objects corresponding to each node on the node division level, determining the model data in the objects corresponding to each node as the node model data corresponding to each node.

[0095] The model data information can be the storage path of the model file corresponding to the model data. Then the node source information corresponding to each node can be determined based on the model data information. Then, when rendering the node, the corresponding node model data can be obtained based on the model data information in the node source information corresponding to the node, and the target node can be rendered based on the obtained node model data to render the three-dimensional virtual object.

[0096] The object node evaluation list can be a list of nodes to be evaluated. The number of three-dimensional virtual objects in the virtual scene can be one or more, and the object node evaluation list can be a node in the target tree structure of all or part of the three-dimensional virtual objects in the virtual scene. For example, the object node evaluation list can only include the nodes of the three-dimensional virtual objects within the field of view of the target camera, that is, before determining the object node evaluation list, the view frustum culling processing can be performed based on the field of view of the target camera to obtain the nodes displayed within the field of view of the current image frame, and then the object node evaluation list is determined based on the nodes displayed within the field of view of the current image frame, so that only the nodes of the three-dimensional virtual objects within the field of view of the target camera are evaluated, thereby reducing the data processing amount of node evaluation.

[0097] In an embodiment, obtaining the object node evaluation list associated with the three-dimensional virtual object to be rendered in the virtual scene can include the following steps: when it is detected that the camera parameter of the target camera has parameter update, obtaining the object node evaluation list associated with the three-dimensional virtual object to be rendered in the virtual scene.

[0098] The target camera can refer to a virtual camera for image shooting in the virtual scene. The camera parameter can include an internal parameter of the target camera, which can include information such as a focal length of the camera, and an external parameter of the target camera in the virtual scene, which can include a three-dimensional coordinate of the target camera in the virtual scene, i.e., a position of the target camera in the virtual scene, and can further include a pitch angle, an azimuth angle, and a roll angle of the target camera, for controlling an orientation and a view angle of the target camera.

[0099] In some embodiments, when rendering a picture showing the virtual scene, a plurality of image frames at different time points can be rendered, and each image frame can show three-dimensional virtual objects within a view range of the target camera. When rendering an image frame at a current time point (i.e., a target image frame), the camera parameter of the target camera at the current time point can be obtained, and it can be detected whether the camera parameter of the target camera is updated, and then the object node evaluation list for node evaluation can be obtained only when the camera parameter of the target camera is updated. This is because in the virtual scene, the display of the picture at the current time point can be changed only when the camera parameter of the target camera is changed (e.g., a position and a view angle are changed), and thus the nodes of the three-dimensional virtual objects to be rendered can be evaluated only when the camera parameter of the target camera is updated, which can help to reduce the calculation amount of the rendering process and improve the object rendering efficiency.

[0100] In some embodiments, whether the camera parameter of the target camera is updated can be obtained by comparing the camera parameter at the current time point with the camera parameter at a time point corresponding to a previous image frame. If the camera parameter at the current time point is the same as the camera parameter at the time point corresponding to the previous image frame, it can be determined that the camera parameter of the target camera is not updated, and otherwise, if the camera parameter at the current time point is different from the camera parameter at the time point corresponding to the previous image frame, it can be determined that the camera parameter of the target camera is updated.

[0101] In some scenarios, the camera parameter of the target camera (such as the position, angle of view, and the like of the camera) is adjusted through a control operation, which can be an operation of controlling the target camera, such as an operation of an interactive device (such as a mouse, a keyboard, a display screen, a handle, and the like). Therefore, whether the camera parameter of the target camera has a parameter update can be determined by determining whether the control operation is detected. If the control operation is detected, it is determined that the camera parameter of the target camera has a parameter update. Otherwise, if the control operation is not detected, it is determined that the camera parameter of the target camera does not have a parameter update. For example, the method for updating the model data of the three-dimensional virtual object through the node evaluation can be written after the method for detecting the control operation. In this way, after the control operation is detected to control the target camera to change the current picture, the model data of the three-dimensional virtual object is updated through the node evaluation. Therefore, it is not necessary to call the method for updating the model data of the three-dimensional virtual object through the node evaluation to perform processing when each image frame is rendered. Therefore, the computer performance is saved, and the rendering efficiency of the virtual scene is improved.

[0102] S102, obtain an image complexity of a target texture map corresponding to the target node; the image complexity of the target texture map is determined based on an image information entropy of the target texture map.

[0103] The target texture map can be a texture map corresponding to the target node. The texture map can be obtained from the node model data corresponding to the target node.

[0104] In some embodiments, the image complexity can be used to describe the amount of information contained in the texture map. The higher the image complexity of the texture map, the greater the amount of information contained in the texture map, and the more likely the part corresponding to the texture map is to be paid attention to by a person. Therefore, it is necessary to display the part through better display quality to avoid the display quality of the part with a large amount of information in the picture being low, thereby improving the final rendering quality of the virtual scene.

[0105] In the embodiments of the present application, the image complexity of the texture map can be determined based on image information entropy. The image information entropy can be used to describe the amount of information contained in an image, and can also reflect the complexity of the texture content of the image. The image information entropy can be used to reflect the randomness and complexity of the texture map of the image. For a node of a three-dimensional virtual object, the greater the randomness and complexity of the image texture of the texture map, the greater the terrain change in the region of the node. Therefore, the information entropy of the texture map can reflect the amount of terrain information contained in the node to a certain extent. In the embodiments of the present application, the image information entropy can adopt one-dimensional information entropy of the image, which can represent the amount of information contained in the distribution and aggregation characteristics of the gray scale in the image. This is because the texture map contains UV information (information of UV coordinates) in addition to the texture information, so that each pixel point in the texture map can be accurately drawn to the corresponding position of the three-dimensional virtual object according to the UV texture coordinate information. When the image viewing application opens the texture map, due to the relationship of the UV coordinates, the adjacent pixel points in the texture map are not necessarily adjacent in the model geometry. Therefore, the two-dimensional information entropy reflecting the spatial distribution of the gray scale is not suitable for calculating the complexity of the texture map of the three-dimensional virtual object. Therefore, the one-dimensional information entropy is used to determine the image complexity of the texture map.

[0106] Specifically, obtaining the image complexity of the target texture map corresponding to the target node can include the following steps: obtaining the target texture map corresponding to the target node, performing grayscale processing on the target texture map to obtain a grayscale texture image of the target texture map; in some embodiments, determining a target pixel with a target gray value from the grayscale texture image, performing rejection processing on the target pixel in the grayscale texture image; counting each gray value pixel in the grayscale texture image after the target pixel is rejected to obtain a gray value proportion corresponding to each gray value, determining the image information entropy of the target texture map based on the gray value proportion of each gray value; and performing weighted conversion processing on the image information entropy to obtain the image complexity of the target texture map.

[0107] In some embodiments, the original texture map corresponding to the target node (usually a color image such as an RGB format) is obtained, and then the color image is converted into a grayscale texture image (containing only 0-255 grayscale values, single channel) through a grayscale algorithm (such as a weighted average method: grayscale value = 0.299 x R + 0.587 x G + 0.114 x B). The RGB three-channel data of the color image increases the computational complexity, and after grayscale, the image is simplified to a single-channel grayscale value, the data dimension is unified, the computational amount of subsequent processing is reduced, and the light and dark details of the texture (the complexity is mainly determined by the light and dark changes) are retained. The pixels with a target grayscale value (target pixels) are selected from the grayscale texture image, and these pixels are removed from the image (for example, set to transparent or directly deleted). The target grayscale value is usually an "invalid area" (such as a background color, a blank area) in the texture, for example: if the background of the texture map is pure white (grayscale value 255), the target grayscale value is set to 255, and only the valid texture area is retained after removal.

[0108] In this way, the grayscale processing simplifies the image data dimension, reduces the computational amount while retaining the light and dark details of the texture, lays a foundation for efficient subsequent processing, removes the target grayscale value pixels to exclude the interference of invalid areas (such as background color), makes the statistics and calculation only for the valid texture part, improves the accuracy of image complexity evaluation, and objectively quantifies the detail richness of the texture based on the information entropy calculated based on the grayscale value proportion. The information entropy is adapted to the complexity index of the actual scene demand through weighted conversion, so that the complexity can better serve subsequent node evaluation and other processes, provide accurate texture detail reference for dynamically adjusting display quality and balancing rendering effect and performance, and further optimize the rendering efficiency and visual performance of the three-dimensional virtual object.

[0109] In some embodiments, the original texture map corresponding to the target node (usually a color image such as an RGB format) is obtained, and then the color image is converted into a grayscale texture image (containing only 0-255 grayscale values, single channel) through a grayscale algorithm (such as a weighted average method: grayscale value = 0.299 x R + 0.587 x G + 0.114 x B). The RGB three-channel data of the color image increases the computational complexity, and after grayscale, the image is simplified to a single-channel grayscale value, the data dimension is unified, the computational amount of subsequent processing is reduced, and the light and dark details of the texture (the complexity is mainly determined by the light and dark changes) are retained. The pixels with a target grayscale value (target pixels) are selected from the grayscale texture image, and these pixels are removed from the image (for example, set to transparent or directly deleted). The target grayscale value is usually an "invalid area" (such as a background color, a blank area) in the texture, for example: if the background of the texture map is pure white (grayscale value 255), the target grayscale value is set to 255, and only the valid texture area is retained after removal.

[0110] The target gray value can be a gray value of 0, and the target pixel can be a pixel with a gray value of the target gray value, that is, a black pixel. This is because in most virtual scenes, there are basically no pure black pixels, and therefore the black pixels can be removed from the gray texture image, so that the information entropy is calculated based on the gray values of the pixels other than the black pixels.

[0111] The gray value proportion can be the proportion of the pixels corresponding to each gray value in the gray texture image after the target pixels are removed.

[0112] The method for determining the image information entropy of the target texture map based on the gray value proportions of the gray values can be calculated by the following formula (1). S = -∑p i ×log2 p i Formula (1)

[0113] S is the image information entropy, p i is the gray value proportion of the gray value i.

[0114] In some embodiments, the image information entropy is weighted and converted, which can be used to indicate that the image information entropy is converted to obtain a numerical value more suitable for node evaluation as image complexity. This is because after calculating the information entropy of a large number of node texture maps, it is found that the image information entropy of each texture map is mainly distributed in a target range (such as 4 to 7), in order to control the results of node evaluation to be concentrated in the interval of 0.5 to 1, the image complexity can be obtained by weighting and converting the image information entropy of the texture map.

[0115] The method for weighting and converting the image information entropy can be calculated by the following formula (2): P = (S-1) / 6 Formula (2)

[0116] P is the image complexity, and S is the image complexity.

[0117] In some embodiments, for an observer of a virtual scene (i.e., a user viewing a picture of the virtual scene, such as a game user), more information that the observer wants to obtain from the virtual scene is the spatial distribution of ground objects, the appearance and shape of buildings, etc., and the common terrain such as grassland, wasteland, lake, etc. does not attract much attention. Therefore, rendering the objects of the common terrain using a model data with a high display quality is a rendering drawing overhead that does not work well, and reducing the drawing of this part of the model can improve the operation speed without affecting the overall spatial scene three-dimensional model visual effect, thereby optimizing the scene roaming experience. In some embodiments, the common natural terrain generally does not have a very obvious color distribution change in the same area, and the junction between artificial buildings or different terrains is often accompanied by a strong texture transition. Therefore, whether a node is a node that the observer wants to focus on can be determined from the texture map of the node. If the color change of the texture map is large and the image complexity is high, it means that the node can provide more information to the observer, and the node should be highlighted in the overall virtual scene. Otherwise, the display quality of the node with low image complexity of the texture map should be lower than that of the node with high image complexity of the texture map.

[0118] For example, please refer to FIG. 6, which is a contrast diagram of a texture map provided by an embodiment of the present application. As shown in FIG. 6, 601a shows a node object corresponding to a node b11 at a first node division level in a target tree structure of a virtual lake (i.e., a three-dimensional virtual object), and 602a shows a node object corresponding to a node b21 at a first node division level in a target tree structure of a virtual building (i.e., a three-dimensional virtual object). Then, the texture map in the node model data of the node b11 in the virtual lake (as shown in 603a in FIG. 6) and the texture map in the node model data of the node b21 in the virtual building (as shown in 604a in FIG. 6) can be obtained. In some embodiments, the complexity of the texture map (as shown in 603a in FIG. 6) can be calculated to obtain the image complexity t1 of the texture map (as shown in 603a in FIG. 6) (as shown in 605a in FIG. 6), and the complexity of the texture map (as shown in 604a in FIG. 6) can be calculated to obtain the image complexity t2 of the texture map (as shown in 604a in FIG. 6) (as shown in 606a in FIG. 6). As can be seen, the color change of the texture map shown in 603a in FIG. 6 is smaller than that of the texture map shown in 604a in FIG. 6, and therefore, the image complexity t1 is smaller than the image complexity t2.

[0119] In the embodiments of the present application, in order to improve the efficiency of rendering and displaying the virtual scene, the image complexity of the texture map of each node of the three-dimensional virtual object can be calculated in advance, and the image complexity of each node determined can be stored. When the node evaluation of each node in the object node evaluation list is needed, the node evaluation can be directly performed based on the pre-calculated image complexity.

[0120] In some embodiments, based on the above description, when constructing the target tree structure, each node can be inserted into the quadtree based on the node source information list corresponding to the tree structure. Therefore, according to the node source information list, the texture map of each node in the target tree structure can be read one by one, and the information entropy of the texture map of each node can be calculated, so that the image complexity of each texture map can be determined based on the information entropy. Then, the image complexity of each node can be added to the attribute data of the node source information of the node with the same name through the node source information list, for subsequent node evaluation. Since the file name of the texture map is the file name of the model data of the node plus the suffix "_0", the corresponding texture map can be opened according to the node name in the node source information list. After reading the texture map, the image complexity of the texture map of each node can be determined based on the above processing process, and finally the node name corresponding to the texture map and the corresponding image complexity can be generated to generate a table (which can be called a complexity table) for recording the image complexity of each node, such as a.csv format table file. Then, when the node evaluation is performed subsequently, the complexity table can be read, and the image complexity of the texture map of the node to be evaluated can be obtained. After determining the complexity table, the image complexity of each node can be taken as the attribute data of the node source information of the corresponding node, and the image complexity can be recorded in the corresponding node through the name (i.e., identifier) of each node in the node source information list of the target tree structure. After the image complexity of all nodes is added to the corresponding node, the attribute data can be applied as a weighting factor to calculate the final node evaluation result when the node evaluation is performed.

[0121] S103, determining target size information of the target node bounding box based on the target node bounding box to which the target node belongs.

[0122] The target node bounding box can be a node bounding box corresponding to the target node. The node bounding box can be a three-dimensional bounding volume capable of completely containing the corresponding node, that is, a three-dimensional bounding volume capable of surrounding a node object corresponding to the corresponding node. The node object can refer to an object rendered by node model data corresponding to a node. The node object of the root node is a three-dimensional virtual object rendered based on model data with the lowest display quality level. The shape of the node bounding box can be a cube, a cuboid or the like surrounding the target node, which is not limited herein.

[0123] Specifically, the nodes in the target tree structure include a first node and a second node; the second node is a child node of the first node; then, the embodiments of the present application can further include: obtaining a first node bounding box of the first node; the first node bounding box is associated with a node coordinate system corresponding to the first node; the node coordinate system has an origin at the center position of the first node bounding box; a plurality of quadrants are determined in the node coordinate system corresponding to the first node, the first node bounding box is divided based on the plurality of quadrants to obtain a sub bounding box corresponding to each quadrant; the second node is included in each sub bounding box corresponding to each quadrant; and a second node bounding box of the second node is determined based on the second node in each sub bounding box corresponding to each quadrant.

[0124] In some embodiments, in a three-dimensional space, a "bounding box" is a geometric shape (usually an axis-aligned bounding box, i.e., an AABB) used to simplify the description of the spatial range of a node, which is used to quickly determine the spatial position of the node, collision detection or rendering range. In this logic, the bounding boxes of parent and child nodes are associated through a "node coordinate system" to form a hierarchical space management. The spatial range container of the parent node (the first node) defines the overall boundary of the first node in the three-dimensional space (such as a bounding box of a character's torso, including the chest, abdomen and other regions). Based on the coordinate system (origin at the center of the bounding box) of the first node, the three-dimensional space is divided into a plurality of "quadrants" (strictly speaking, "gnomon" in three-dimensional space, a total of 8, divided by the positive and negative directions of the X, Y and Z axes). The boundary of the sub bounding box is determined by the quadrant range: for example, the sub bounding box of the first quadrant has the minimum value of the X, Y and Z axes as the origin (0, 0, 0), and the maximum value as the boundary value of the first node bounding box in that direction (for example, the X axis range of the parent bounding box is [-5, 5], and the X axis range of the first quadrant sub bounding box is [0, 5]). The second node (child node of the first node) is a "local refinement node" of the first node in a certain quadrant (such as a "chest" sub node of the torso bounding box), and its spatial range is completely contained in the sub bounding box of the corresponding quadrant.

[0125] The first node can be any node on the node division hierarchy of the non-lowest one, for example, in a target tree structure including three node division hierarchies (i.e., a root hierarchy, a first hierarchy, and a second hierarchy), the first node can be any node of the root node and the first hierarchy node. The second node can be a child node of the first node, for example, when the first node is the root node, the first node can be any first hierarchy node, and when the first node is any first hierarchy node, the second node can be any second node under any first hierarchy node. The node division hierarchy of the second node is the next node division hierarchy of the node division hierarchy of the first node.

[0126] The first node bounding box can be a node bounding box corresponding to the first node. When the first node is the root node, the first node bounding box can be directly based on the bounding box of the node object corresponding to the root node of the three-dimensional virtual object, and when the first node is not the root node, the first node bounding box is obtained by bounding box division based on the bounding box of the parent node of the first node. The first node bounding box is associated with the node coordinate system of the first node. For the node coordinate system, refer to the related description above, which will not be repeated here. In some embodiments, the origin of the node coordinate system can be the center position of the first node bounding box, that is, the position of the node center corresponding to the first node, and the coordinate axes of the node coordinate system are parallel to the edges corresponding to the first node bounding box.

[0127] The sub-bounding box refers to the bounding box obtained by performing bounding box division on the first node bounding box. The bounding box division on the first node bounding box based on the plurality of quadrants can be dividing the bounding box into sub-bounding boxes according to the coordinate axes used to determine the plurality of quadrants.

[0128] In some embodiments, the second node is included in each quadrant corresponding sub-bounding box. The second node bounding box can be a bounding box corresponding to the second node. The second node bounding box of the second node can be determined based on the second node in each quadrant corresponding sub-bounding box, which can be directly determining each quadrant corresponding sub-bounding box as the node bounding box of the second node (i.e., the bounding box of the node object corresponding to the second node), or can be determined based on the minimum enclosing space of the second node in each quadrant corresponding sub-bounding box, which is not limited here and can be determined according to actual needs. The minimum enclosing space of the second node can be determined based on the width of the second node on each coordinate axis of the node coordinate system corresponding to the first node, for example, the width of the second node on the x-axis is x1, the width on the y-axis is y1, and the width on the z-axis is z1. Then the minimum enclosing space of the second node can be a cuboid with edge lengths of x1, y1, and z1.

[0129] In some embodiments, when determining the second node bounding box of the second node based on the minimum enclosing space of the second node in the sub bounding box corresponding to each quadrant, if the size of the minimum enclosing space of the second node is consistent with the size of the sub bounding box of the second node, the sub bounding box of the second node can be directly determined as the node bounding box of the second node; if the size of the minimum enclosing space of the second node is inconsistent with the size of the sub bounding box of the second node, the node bounding box of the second node can be determined based on the minimum enclosing space of the second node. When the size of the minimum enclosing space of the second node is inconsistent with the size of the sub bounding box of the second node, the size of the minimum enclosing space of the second node is smaller than the size of the sub bounding box of the second node.

[0130] In some embodiments, the minimum enclosing space of the second node refers to the minimum space range that can completely enclose all geometric elements (such as vertices and faces) of the second node (sub node), and is a precise description of the actual space size of the second node (similar to a “tight bounding box”). The sub bounding box of the second node refers to a sub region obtained by dividing the bounding box of the first node (parent node) by a quadrant (such as a space range corresponding to a certain quadrant), and is the “maximum allowed space boundary” of the second node (that is, the space range of the second node cannot exceed the sub bounding box). The length, width and height of the minimum enclosing space of the second node (precise enclosing space of itself) are completely the same as (or within an allowable error range of) the sub bounding box divided by the parent node. The actual space range of the second node just fills the sub bounding box divided by the parent node, and does not need to be adjusted additionally. Reusing the sub bounding box can reduce the amount of calculation while ensuring consistency with the space division rule of the parent node. When the sizes are inconsistent: the minimum enclosing space is used as the reference, and in this case, the size of the minimum enclosing space of the second node is necessarily smaller than the size of the sub bounding box (because the sub bounding box is the maximum boundary divided by the parent node, and the actual range of the sub node cannot exceed this boundary). The minimum enclosing space is more consistent with the actual geometric shape of the second node, and can more accurately reflect the space range, avoiding “space redundancy” (such as a large sub bounding box but a small sub node, which can cause errors in subsequent collision detection and rendering range calculation) caused by reusing the sub bounding box. In the embodiments of the present application, when the target node is a root node, the bounding box of the target node can be the node bounding box corresponding to the root node of the three-dimensional virtual object, and when the target node is not a root node, the node bounding box of the target node can be determined in the manner described above.

[0131] For example, please refer to FIG. 7, which is a schematic diagram of a bounding box division according to an embodiment of the present application. The node bounding box of the root node of the three-dimensional virtual object 702a (i.e., the object bounding box of the three-dimensional virtual object) is the bounding box 701a, which can be associated with a corresponding node coordinate system, the origin of which is the center position of the bounding box 701a. The four quadrants (Quadrant 1, Quadrant 2, Quadrant 3, and Quadrant 4) can be divided based on the x-axis and y-axis of the node coordinate system (i.e., the quadrant division coordinate axes are the x-axis and y-axis). The nodes within the bounding box 701a can be determined as the first nodes, and the bounding box 701a is the first node bounding box. The child nodes (i.e., the first level nodes) of the nodes within the bounding box 701a are the second nodes. The bounding box 701a can be divided based on the quadrants of the node coordinate system associated with the bounding box 701a (i.e., step S71), to obtain the sub-bounding boxes corresponding to each quadrant in the node coordinate system corresponding to the bounding box 701a. Then, the bounding boxes of the first level nodes corresponding to each quadrant under the root node can be determined based on the sub-bounding boxes corresponding to each quadrant (i.e., the first level nodes are the second nodes, and the bounding boxes of the first level nodes are the second node bounding boxes). For example, in the node coordinate system corresponding to the bounding box 701a, the sub-bounding box corresponding to Quadrant 3 can be shown as 703a in FIG. 7, i.e., the bounding box of the first level node corresponding to Quadrant 3 in the node coordinate system of the root node is the bounding box 703a.

[0132] In some embodiments, the first node can be updated by the nodes within the bounding box 703a to obtain a new first node, and the bounding box 703a is the new first node bounding box. The child nodes (i.e., the second level nodes) of the nodes within the bounding box 703a are determined as the new second nodes. Then, the node coordinate system associated with the bounding box 703a can be determined, the origin of which is the center position of the bounding box 703a. The four quadrants (Quadrant 1, Quadrant 2, Quadrant 3, and Quadrant 4) can be divided based on the x-axis and y-axis of the node coordinate system (i.e., the quadrant division coordinate axes are the x-axis and y-axis). The bounding box 703a can be divided based on the quadrants of the node coordinate system corresponding to the bounding box 703a (i.e., step S72), to obtain the sub-bounding boxes corresponding to each quadrant in the node coordinate system corresponding to the bounding box 703a. Then, the bounding boxes of the second level nodes corresponding to each quadrant under the first level nodes can be determined based on the sub-bounding boxes corresponding to each quadrant (i.e., the second level nodes are the second nodes, and the bounding boxes of the second level nodes are the second node bounding boxes). For example, in the node coordinate system corresponding to the bounding box 703a, the sub-bounding box corresponding to Quadrant 4 can be shown as 704a in FIG. 7, i.e., the bounding box of the second level node corresponding to Quadrant 4 in the node coordinate system of the nodes within the bounding box 703a is the bounding box 704a.

[0133] In some embodiments, the target size information can be information used to describe the size of the target node bounding box. The target size information can be the length of the edge parallel to the target coordinate axis of the node coordinate system of the target node bounding box, which can be a coordinate axis of the node coordinate system. For example, the target coordinate axis can be the x-axis.

[0134] In S104, the target node is evaluated based on the target size information, the camera view distance between the target node and the target camera, and the image complexity, to obtain a node evaluation result of the target node.

[0135] The camera view distance can be the distance between the node bounding box and the position of the target camera, for example, the distance between the center position of the node bounding box and the position of the target camera.

[0136] The node evaluation result can be the result obtained by evaluating the target node. The node evaluation result can be used to indicate whether the target node meets the rendering display condition, and can also be used to indicate whether the target node meets the blur display condition. In the embodiments of the present application, the node evaluation that fuses the image complexity of the texture map can intelligently identify and preferentially render the area with high user attention in the scene, thereby ensuring the rendering quality on the key visual elements. In addition, the embodiments of the present application simplify the interaction process between the user and the virtual scene, and provide a more intuitive and natural picture. The virtual objects that are easily paid attention to by the user are displayed through better display quality, thereby enhancing the immersion and satisfaction of the user.

[0137] In some embodiments, evaluating the target node based on the target size information, the camera view distance between the target node and the target camera, and the image complexity to obtain the node evaluation result of the target node can include the following steps: determining an evaluation index based on the target size information, the camera view distance between the target node and the target camera, and the image complexity, and determining the node evaluation result based on the evaluation index.

[0138] In some embodiments, the target size information refers to the physical size of the target node in three-dimensional space (such as the length, width, and height of the bounding box, or the projected size on the screen), reflecting the basis of the "visual proportion" of the node. The larger the size of the node (such as a large building), the more significant the impact on the visual experience, and the higher the weight in the evaluation, even at a slightly distant distance. The smaller the size of the node (such as a small stone), the weaker the impact on the overall vision, and the lower the weight. The closer the node, the easier it is for the user to focus on the visual focus, and the higher the detail (such as clear texture and complete patches) is required. The farther the node, the more difficult it is for the user to distinguish the details, and the details can be appropriately simplified (such as reducing the patches and reducing the texture quality). Therefore, the viewing distance and the evaluation priority are usually inversely proportional (the closer the distance, the higher the priority). The higher the complexity of the node (such as a fabric with complex patterns or a rock texture with rich details), the higher the rendering accuracy is required to retain the details in the near distance. In the distance, the details of the high-complexity texture are compressed, and the accuracy can be reduced. Therefore, the complexity and the evaluation priority are related to the viewing distance (the priority of the high-complexity node in the near distance is higher).

[0139] wherein the evaluation index can be a numerical value for evaluating whether the display quality of a node meets the current display quality requirement. For example, the evaluation index can be determined based on the following formula (3):

[0140] wherein f is the evaluation index, d is the target size information, P is the image complexity, and C is a constant for controlling the evaluation index. The larger the C, the higher the display quality required for the current scene to be drawn. Therefore, the size of C can be adjusted according to the requirement to control the improvement or reduction of the overall display quality of the virtual scene, which can be determined according to the computing performance of the computer device.

[0141] In some embodiments, if the evaluation index of the target node is less than a first value (e.g., 1), it means that the target node does not meet the current picture display quality requirement (i.e., does not meet the rendering display condition), and thus the display quality of the target node can be improved, that is, the three-dimensional virtual object is rendered based on the model data of a higher display quality level (i.e., the model data of a higher node division level). Conversely, if the evaluation index of the target node is greater than or equal to the first value (e.g., 1), it means that the target node meets the current picture display quality requirement (i.e., meets the rendering display condition), and thus the display quality of the target node does not need to be improved, that is, the display of the node at the current node division level can be maintained. If the evaluation index of the target node is greater than the first value (e.g., 1) and greater than a second value (e.g., 2), it means that the target node not only meets the current picture display quality requirement, but also exceeds the current picture display quality requirement (i.e., meets the blur display condition), and thus the display quality of the target node can be reduced, that is, the three-dimensional virtual object is rendered based on the model data of a lower display quality level (i.e., the model data of a lower node division level), that is, the three-dimensional virtual object is displayed based on the node at the node division level corresponding to the parent node of the current node.

[0142] In some embodiments, the evaluation index is a "quantitative scale" for measuring whether the current display quality of the node meets the scene requirement: the higher the index, the higher the current display quality (or its importance) of the node; the lower the index, the more likely the current display quality is insufficient.

[0143] The first value (e.g., 1) and the second value (e.g., 2) are critical points for judgment, used to divide the three states of "quality deficiency", "quality adaptation" and "quality surplus". The current display quality of the target node does not meet the picture requirement (does not meet the rendering display condition), which is manifested as lack of details, blur or roughness (e.g., the low-quality model has obvious patches when the distant object is zoomed in). The display quality level corresponding to the child node is higher (as mentioned above, the deeper the node level, the higher the quality), and the model data is more detailed (more patches, higher definition texture), which can make up for the current quality deficiency. When the quality is insufficient (the index is low), the level is upgraded to supplement the details; when the quality is adapted (the index is moderate), the level is maintained to balance the performance; when the quality is surplus (the index is high), the level is downgraded to save resources.

[0144] For example, the process of node evaluation can be described by referring to the following code:

[0145] bool isNeedToSplit(Q_TileNode node, int C)

[0146] Vector3 camPos = Camera.main.transform.position; / / Get the position of the target camera

[0147] float dis = Vector3.Distance(node.bound.center, camPos); / / The distance from the node bounding box to the position of the target camera, i.e., the camera viewing distance

[0148] if (dis / node.bound.size.x < <C) / / Node evaluation formula

[0149] { return true;} / / Need to improve the display quality

[0150] else

[0151] { return false;} / / Do not need to improve the display quality

[0152] Among them, in dis / node.bound.size.x < <C, dis refers to the camera viewing distance, node.bound.size.x refers to the size information of the node bounding box, and <C is the constant controlling the evaluation index. After transformation, this node evaluation formula is That is, the evaluation index f < 1. [[ID=!21]]

[0153] S105. If the node evaluation result indicates that the target node meets the rendering display condition and the target node is within the field of view corresponding to the target camera, then when rendering and displaying the three-dimensional virtual object, render and display the target node and hide the child nodes of the target node.

[0154] In some embodiments, the rendering display condition may be a condition that needs to be met for the rendering display timing based on the corresponding node. For example, the rendering display condition may be that the evaluation index of the target node is greater than or equal to a first value (such as 1).

[0155] In some embodiments, the field of view of the target camera can be the range visible to the target camera, which can be the spatial range indicated by the frustum corresponding to the target camera. The frustum of the target camera can be the spatial range visible to the target camera. If each node in the above object node evaluation list is determined based on the first display node list within the field of view, the determination of the node evaluation result can directly determine that the target node is within the field of view corresponding to the target camera. If each node in the above object node evaluation list is a node at a certain node division level of all three-dimensional virtual objects, the determination of the node evaluation result can also determine whether the target node is within the field of view corresponding to the target camera, so that the target node can be directly hidden when the target node is not within the field of view corresponding to the target camera.

[0156] In some embodiments, the field of view of the target camera refers to the spatial region that can be "seen" by the target camera (such as the player's perspective in a game or an observation camera in a virtual scene), and objects outside this range will not be rendered to the screen. The frustum is a geometric shape that describes the field of view, usually a "pyramid section" (enclosed by a near plane, a far plane, and four side planes), with the tip pointing to the camera position and the bottom being the visible boundary at a distance. The frustum is a spatial reference for determining "whether an object is visible" - only objects that are completely or partially within the frustum will be captured by the camera and possibly rendered; objects outside the frustum belong to the "invisible region" and do not need to be rendered. Since these nodes have already been "checked for field of view", when determining the node evaluation result (such as whether to improve / lower the display quality), it is not necessary to determine again whether it is within the field of view, and the display quality (such as improvement, maintenance, or reduction) can be directly processed based on the evaluation result. If it is within the field of view: process the display quality (improve, maintain, or reduce) according to the evaluation result; if it is not within the field of view: directly "hide" the node (do not render), without processing the display quality.

[0157] For example, please refer to FIG. 8, which is an effect diagram of a frustum of a target camera provided by an embodiment of the present application. As shown in FIG. 8, the frustum corresponding to the target camera 801a can be indicated by the frustum 802a in FIG. 8, which can include six planes, and the field of view of the target camera can be the spatial range indicated by the frustum 802a.

[0158] Specifically, the target node is added with node source information, and the node source information of the target node includes model data information of the node model data of the target node. Then, if the node evaluation result indicates that the target node meets the rendering display condition and the target node is located in the field of view range corresponding to the target camera, the target node is rendered and displayed, and the child nodes of the target node are hidden during rendering and displaying the three-dimensional virtual object, which can include the following steps: if the node evaluation result indicates that the target node meets the rendering display condition and the target node is located in the field of view range corresponding to the target camera, the target node is added to the display node stack associated with the virtual scene, and the child nodes of the target node are added to the first hidden node list associated with the virtual scene. The first hidden node list can be a hidden node list determined based on the field of view range of the target camera. During rendering and displaying the three-dimensional virtual object, the target node is popped from the display node stack, the model data information in the node source information of the target node is obtained, the node model data of the target node is obtained, and the target node is rendered and displayed based on the node model data of the target node.

[0159] In some embodiments, the display node stack can be a stack structure for storing nodes determined to be rendered based on the node evaluation result. The stack structure has the characteristics of first-in first-out, that is, the nodes entering the display node stack first are popped out first, and the popped out nodes are rendered and displayed, so that after determining the nodes corresponding to each three-dimensional virtual object of the virtual scene to be rendered, the determined nodes can be added to the display stack, so that the nodes in the display node stack can be popped out in order to render and display each node to be displayed in order.

[0160] In this way, under the condition of meeting the above conditions, the target node is added to the display node stack of the virtual scene (for ordered management of nodes to be rendered), and all its child nodes are included in the first hidden node list determined based on the field of view range of the camera (to ensure that the child nodes are not rendered). Then, during actual rendering of the three-dimensional virtual object, the target node is taken out from the display node stack, the corresponding node model data is obtained through the model data information in the node source information, and finally the rendering and display of the target node are completed based on the node model data. By including the target node meeting the condition in the rendering queue and hiding its more detailed child nodes, the display quality adaptation requirement of the target node in the current scene is ensured, and the redundant rendering of the child nodes is avoided, so that the balance between rendering efficiency and visual effect is achieved.

[0161] In some embodiments, the first hidden node list can be a hidden node list determined based on a field of view range of the target camera. The determination of the first hidden node list and the first display node list can refer to the related description above, which will not be repeated here. Since the target node is located in the field of view range of the target camera, the target node can be included in the display node list associated with the virtual scene.

[0162] In some embodiments, based on the above description, the node source information of each node in the target tree structure can include model data information (such as a model file path of the node model data) of the node model data. The model data information of the target node can be used to obtain the node model data of the target node, so that the node model data of the target node can be loaded, and then the target node can be rendered and displayed based on the loaded node model data, that is, the three-dimensional virtual object can be displayed based on the rendered and displayed target node. In the embodiments of the present application, the model file corresponding to the model data corresponding to one three-dimensional virtual object is stored based on the node division level structure of the target tree structure. For example, the root node corresponds to a folder, and the folder can store a model file used to record the node model data of the root node. The folder corresponding to the root node can further include folders corresponding to each first-level node, and the folders corresponding to each first-level node can further store model files used to record the node model data of each first-level node. The folder corresponding to each first-level node can further include folders corresponding to each second-level node under the corresponding first-level node, and the folders corresponding to each second-level node can further store model files used to record the node model data of each second-level node. The model data information of the target node can be a file path of the model file of the node model data of the target node.

[0163] In some embodiments, rendering and displaying the target node based on the node model data of the target node can include the following steps: after instantiating the three-dimensional virtual object in the virtual scene, obtaining a target display node list associated with the virtual scene; the target display node list includes the target node; performing node loading detection on the target node to obtain a node display detection result of the target node; if the node display detection result indicates that the target node fails to load, adding the target node in the target display node list to a temporary processing list, reloading the node model data of the target node, and rendering and displaying the target node based on the reloaded node model data.

[0164] In some embodiments, the model data of the three-dimensional virtual object, scene configuration, etc. are loaded into the memory to create an interactive virtual scene instance (such as game scene initialization, simulation scene loading completion loading) to instantiate the virtual scene. After instantiation, a node set that needs to be rendered is filtered out from the scene (i.e. the aforementioned "first display node list"), which contains the target node to be rendered (which has been confirmed to be within the field of view and meet the display conditions). After the virtual scene instantiation is completed, the "target display node list" is first obtained, which contains all nodes that need to be rendered in the current frame (such as characters, buildings, props, etc. within the field of view), and the target node is one of them. For each node in the target display node list (including the target node), "node loading detection" is performed to check whether the node model data (such as geometric patches, texture maps, material parameters, etc.) has been successfully loaded into the memory, and the "node display detection result" is obtained. The target node that fails to load in the target display node list is moved to the "temporary processing list" and marked as "to be reprocessed" to avoid affecting the normal rendering process of other nodes. For the target node in the temporary processing list, a loading request is re-initiated (such as re-reading local files, re-decompressing data, repairing path errors, etc.) to try to obtain complete node model data.

[0165] In some embodiments, instantiation can be a process of generating an object based on model data. Instantiating a three-dimensional virtual object in a virtual scene can be generating a node object based on the node model data of the node corresponding to the three-dimensional virtual object, so as to determine the three-dimensional virtual object based on the node object.

[0166] In some embodiments, the target display node list can be a list of nodes in the virtual scene that are displayed for rendering. That is, each node in the object node list is evaluated, and the final display node list is determined based on the node evaluation result. In the embodiments of the present application, the final hidden node list can also be determined based on the node evaluation result. The final hidden node list can be referred to as the target hidden node list.

[0167] Thus, after the instantiation of the three-dimensional virtual object of the virtual scene is completed, the target display node list containing the target node is first obtained, and then the node loading detection is performed on the target node to obtain the node display detection result. If the detection result shows that the target node fails to load, the target node is moved from the target display node list to the temporary processing list, and then the node model data of the target node is reloaded, and the rendering display of the target node is completed based on the reloaded data. By first determining the range of the target node to be rendered, and then detecting the node loading state, the temporarily processing and reloading of the node that fails to load, the accuracy of the rendered object can be ensured, the loading exception problem can be effectively dealt with, the rendering loss caused by the failure of a single node to load can be avoided, and the integrity and stability of the rendering display of the three-dimensional virtual object are ensured.

[0168] In some embodiments, the three-dimensional virtual object in the virtual scene can be a gameObject as a base class, and when the model data of the three-dimensional virtual object is loaded and the instantiated three-dimensional virtual object is instantiated into the virtual scene based on the loaded model data, the three-dimensional virtual object is a subclass of the node object corresponding to the node in the target display node list. Then, whether the target node is successfully loaded can be determined by judging whether the subclass of the node object of the target node is empty. Specifically, all nodes in the target display list can be traversed, and if the number of subclasses of the node object corresponding to each node is 0, it indicates that the node fails to load. Then, the nodes that fail to load in the target display node list are added to the temporary processing list tempDic. The node model data of each node (such as the target node) in the temporary processing list can be reloaded, and the target node is rendered and displayed based on the reloaded node model data of the target node. After traversing the target display node list, the nodes in the temporary processing list that have loading problems can be processed. Specifically, the information of the nodes in the temporary processing list can be saved to the nodes in the corresponding target tree structure, the node object corresponding to the node is destroyed from the memory, and finally the node model data is reloaded through the recorded node information, and the corresponding node object is instantiated in the virtual scene based on the node model data, so as to determine the three-dimensional virtual object based on the node object of each node, and then render the picture (i.e. image frame) of the virtual scene.

[0169] For example, refer to FIG. 9, which is a flowchart of a rendering display process according to an embodiment of the present application. First, the camera parameters of the target camera can be determined (S901a in FIG. 9), where the camera parameters are described above and will not be repeated here. Then, the view frustum culling is performed based on the field of view of the target camera (S902a in FIG. 9), that is, the nodes within the field of view of the target camera are determined. Then, the node evaluation is performed, and the display nodes are determined based on the node evaluation results (S903a in FIG. 9). The node evaluation here can include obtaining the object node evaluation list, and then performing the node evaluation on each node in the object node evaluation list through the processes of S102-S104 described above to obtain the node evaluation results of each node in the object node evaluation list, so that the hiding and closing of the nodes are performed based on the node evaluation results of each node, that is, the target display node list and the target hidden node list are obtained. The node loading detection can be performed on the nodes in the display node list (that is, the target display node list) (S904a in FIG. 9), where the node loading detection method can refer to the related description above, which will not be repeated here. When it is detected that a node in the target display node list fails to load, the node can be reloaded, and the rendering is performed based on the newly loaded node. The image frame can be rendered and output (S905a in FIG. 9), where the rendering and output of the image frame can be based on the model data of each loaded node to instantiate the corresponding three-dimensional virtual object, so that the image frame is rendered and output based on each three-dimensional virtual object to display the image frame. According to the embodiments of the present application, the rendering rate of the overall space scene can be optimized by reducing the rendering of the model nodes with less attention from the observer. In addition, the image complexity calculation can be performed as a preliminary preparation work, and the image complexity of each node model is recorded in the quadtree node class after the calculation is completed. The image complexity is directly called to participate in the node evaluation during the virtual roaming process, so that the efficiency of the node evaluation is improved.

[0170] Refer to FIG. 10, which is a flowchart of an object rendering method based on a tree structure according to an embodiment of the present application. The method can be performed by the terminal device or the server described above, for example, the terminal device can be the device 11a described above, and the server can be the server 100a described above. The method can at least include the following steps S201-S206.

[0171] S201, obtaining an object node evaluation list associated with a three-dimensional virtual object to be rendered in a virtual scene, where the object node evaluation list includes a target node to be evaluated, and the target node is a node in a target tree structure corresponding to the three-dimensional virtual object.

[0172] In the embodiments of the present application, before determining the object node evaluation list, the three-dimensional virtual objects visible based on the field of view range of the target camera (i.e., the view frustum culling processing) can be determined first, and then the node evaluation of the nodes of the three-dimensional virtual objects within the field of view range of the target camera can be performed. Thus, the node evaluation of the nodes of the three-dimensional virtual objects invisible to the target camera can be avoided, so as to reduce the data processing amount and improve the rendering efficiency.

[0173] Specifically, the number of the three-dimensional virtual objects in the virtual scene is a plurality; each three-dimensional virtual object corresponds to a target tree structure; the method further includes: determining a field of view range indicated by a frustum corresponding to the target camera under the virtual scene; performing node detection on each three-dimensional virtual object based on the positional relationship between the field of view range and the object bounding box of each three-dimensional virtual object to obtain a node detection result of each three-dimensional virtual object; the node detection result is used to indicate that the three-dimensional virtual object is within the field of view range, or is used to indicate that the three-dimensional virtual object is not within the field of view range; determining a first hidden node list and a first display node list associated with the virtual scene based on the node detection result of each three-dimensional virtual object; and determining the object node evaluation list based on the nodes in the first display node list.

[0174] The positional relationship between the field of view range and the object bounding box of each three-dimensional virtual object can include that the object bounding box is all within the field of view range, the object bounding box is partially within the field of view range, and the object bounding box is outside the field of view range.

[0175] In some embodiments, the node detection on each three-dimensional virtual object can be to detect whether each three-dimensional virtual object is within the field of view range, and the node detection result can be a result obtained by performing the node detection on the three-dimensional virtual object. The node detection result is used to indicate that the three-dimensional virtual object is within the field of view range, or is used to indicate that the three-dimensional virtual object is not within the field of view range.

[0176] Therefore, based on the positional relationship between the frustum and the bounding box, the node detection can accurately screen out the nodes inside and outside the field of view, avoid invalid evaluation and rendering of the nodes outside the field of view, reduce the waste of computing resources from the source, and significantly improve the processing efficiency of the virtual scene. The explicit division of the first hidden node list and the first display node list makes the node management more targeted, the hidden nodes can directly skip the subsequent rendering process, and the display nodes enter the evaluation link. This classification processing mechanism optimizes the logical link of node processing and enhances the orderliness of scene management. Based on the first display node list, the object node evaluation list is determined to ensure that the evaluation objects are all nodes inside the field of view that need to be focused on, so that the evaluation result is more in line with the actual rendering requirements, and provides a precise evaluation object basis for subsequent dynamic adjustment of the display quality of the nodes. Finally, while ensuring the visual effect of the virtual scene, efficient allocation and utilization of resources are realized.

[0177] In some embodiments, the node detection result is used to indicate that the three-dimensional virtual object is located in the field of view, which can include that the three-dimensional virtual object is entirely located in the field of view, or that the three-dimensional virtual object is partially located in the field of view. If the object bounding box is entirely in the field of view, the node detection result is used to indicate that the three-dimensional virtual object is entirely located in the field of view, that is, to indicate that the three-dimensional virtual object is located in the field of view. If the object bounding box is partially in the field of view, the node detection result is used to indicate that the three-dimensional virtual object is partially located in the field of view, that is, to indicate that the three-dimensional virtual object is located in the field of view. If the object bounding box is not in the field of view, the node detection result is used to indicate that the three-dimensional virtual object is not located in the field of view (i.e., the three-dimensional virtual object is located outside the field of view).

[0178] In some embodiments, the first hidden node list can be a list of hidden nodes determined based on the field of view, and the first display node list can be a list of nodes for rendering and display determined based on the field of view. The object node evaluation list can be determined based on the nodes in the first display node list, so that node evaluation can be performed only on the nodes of the three-dimensional virtual objects in the field of view, thereby reducing the amount of data calculation and improving rendering efficiency.

[0179] Specifically, the object node evaluation list is an object node evaluation list determined when rendering and displaying a target image frame; then, based on the node detection results of each three-dimensional virtual object, the first hidden node list and the first display node list associated with the virtual scene are determined, including: obtaining a second display node list and a second hidden node list determined when rendering and displaying a previous image frame of the target image frame; based on the node detection results of each three-dimensional virtual object, updating the second display node list and the second hidden node list to obtain the first hidden node list and the first display node list associated with the virtual scene.

[0180] The target image frame can be an image frame currently to be rendered and displayed. The second display node list can be a display node list when a previous image frame of the target image frame is rendered and displayed, and the second hidden node list can be a hidden node list when the previous image frame of the target image frame is rendered and displayed.

[0181] In some embodiments, the first display node list can be obtained after the second display node list is updated based on the node detection result of each three-dimensional virtual object, and the first hidden node list can be obtained after the second hidden node list is updated based on the node detection result of each three-dimensional virtual object.

[0182] In this way, the node list of the previous frame is used as a basis for updating, avoiding starting from zero to generate the display and hidden node lists each time, greatly reducing repeated calculations (such as no need to re-detect nodes that do not change in the field of view), and significantly improving the list generation efficiency. Especially in the case that most node positions in the virtual scene are stable, the system resource consumption can be effectively reduced. The targeted update based on the current node detection result ensures that the first display / hidden node list can reflect the node state in the current field of view in real time, retaining the node information in the previous frame that is still valid, and timely including the nodes that newly enter the field of view and removing the nodes that leave the field of view, ensuring the accuracy and timeliness of the list. The incremental update mechanism makes the node management of the virtual scene more continuous, providing stable and efficient input for subsequent evaluation and rendering processes based on the display node list, and helps to maintain the smoothness and visual consistency of the virtual scene rendering, and improves the overall user experience.

[0183] Specifically, the plurality of three-dimensional virtual objects in the virtual scene includes a target three-dimensional virtual object; then, based on the node detection result of each three-dimensional virtual object, the second display node list and the second hidden node list are updated to obtain the first hidden node list and the first display node list associated with the virtual scene, including: if the second display node list includes a target display node in a target tree structure corresponding to the target three-dimensional virtual object, and the node detection result of the target three-dimensional virtual object indicates that the target three-dimensional virtual object is located outside the field of view, the target display node is added to the hidden node list; the second hidden node list is updated based on the target display node in the hidden node list to obtain the first hidden node list; and the target display node is removed from the second display node list to obtain the first display node list.

[0184] The target three-dimensional virtual object can be any one of the plurality of three-dimensional virtual objects in the virtual scene. The target display node can be a node corresponding to the target three-dimensional virtual object included in the second display node list, such as a root node, a first level node, etc., which is not limited here.

[0185] In some embodiments, the target display node is included in the second display node list, and the node detection result of the target three-dimensional virtual object is used to indicate that the three-dimensional virtual object is located outside the field of view range. When the target image frame is displayed, the target three-dimensional virtual object is no longer in the field of view range. Therefore, the target display node can be added to the waiting hidden node list. The target display node in the waiting hidden node list is used to update the second hidden node list to obtain the first hidden node list. Then, the target display node is removed from the second display node list to obtain the first display node list.

[0186] In some embodiments, if the target display node in the target tree structure corresponding to the target three-dimensional virtual object is included in the second display node list, and the node detection result of the target three-dimensional virtual object is used to indicate that the target three-dimensional virtual object is located in the field of view range, the target display node is maintained in the second display node list to obtain the first display node list, and the second hidden node list is determined as the first hidden node list.

[0187] Specifically, the plurality of three-dimensional virtual objects in the virtual scene includes a target three-dimensional virtual object. Then, the second display node list and the second hidden node list are updated based on the node detection result of each three-dimensional virtual object to obtain the first hidden node list and the first display node list associated with the virtual scene, including: if the second display node list does not include any node in the target tree structure corresponding to the target three-dimensional virtual object, and the node detection result of the target three-dimensional virtual object is used to indicate that the target three-dimensional virtual object is located in the field of view range, the node detection result of the target three-dimensional virtual object is added to the second display node list to obtain the first display node list associated with the virtual scene. The root node of the target three-dimensional virtual object is removed from the second hidden node list to obtain the first hidden node list associated with the virtual scene.

[0188] In some embodiments, the second display node list does not include any node in the target tree structure corresponding to the target three-dimensional virtual object, and the node detection result of the target three-dimensional virtual object is used to indicate that the target three-dimensional virtual object is located in the field of view range. When the target image frame is displayed, the target three-dimensional virtual object has just entered the field of view range. Therefore, the node detection result of the target three-dimensional virtual object can be added to the second display node list to obtain the first display node list associated with the virtual scene. The root node of the target three-dimensional virtual object is removed from the second hidden node list to obtain the first hidden node list associated with the virtual scene.

[0189] In some embodiments, if any node in the target tree structure corresponding to the target three-dimensional virtual object is not included in the second display node list, and the node detection result of the target three-dimensional virtual object indicates that the target three-dimensional virtual object is outside the field of view, the second display node list is taken as the first display node list, and the second hidden node list is determined as the first hidden node list.

[0190] In this way, when the target display node of the target three-dimensional virtual object is included in the second display node list, and the node detection result of the object indicates that it is outside the field of view, the target display node is added to the waiting hidden node list, and the second hidden node list is updated and the node is removed from the second display node list to obtain the first display / hidden node list, the waiting hidden node list is introduced as a transition, which avoids the rendering flicker or logical discontinuity caused by the direct jump of the target display node from the display state to the hidden state, ensures the smoothness of the node state switching, and improves the visual coherence of the virtual scene. The hidden node list is updated based on the waiting hidden node list, and the corresponding node is removed from the display list at the same time, which ensures that the first display / hidden node list can accurately reflect the current field of view state, that is, the nodes that leave the field of view are timely included in the hidden list to stop invalid rendering, and that the nodes are not hidden too early due to misjudgment, thereby enhancing the accuracy of the list. The updating mechanism reduces the repeated construction of the node list, and only realizes the state updating through targeted adding and removing operations, thereby reducing the system resource consumption, and providing accurate node range for the subsequent rendering process, which is helpful to maintain the efficient operation and stable performance of the virtual scene.

[0191] In the embodiments of the present application, each process of rendering and displaying the virtual scene first traverses the three-dimensional model files (i.e., files for storing model data) of all three-dimensional virtual objects, and determines the structural position information of each node in the quadtree through the naming rules of the tree structure. Secondly, these information is recorded and constructed into a tree structure class (such as a quadtree class) to facilitate the determination of the hierarchical relationship between each node, i.e., to determine the node division level at which each node is located. Finally, each node can be loaded and displayed or hidden according to the real-time orientation relationship between the target camera and the node. Specifically, the rendering process of the virtual scene can be processed based on a resource loading component and a real-time updating component, and can specifically include: ① model data input, i.e., inputting the model data of all three-dimensional virtual objects in the virtual scene. ② resource loading through the resource loading component, i.e., reading the region information of the virtual scene, traversing all model data, and constructing the target tree structure corresponding to each three-dimensional virtual object in the virtual scene. ③ real-time updating and displaying of the virtual scene through the real-time updating component, i.e., initializing the virtual scene, and then performing real-time view frustum culling to display or hide the nodes of the three-dimensional virtual object, and adjusting the display quality of the three-dimensional virtual object based on the node evaluation result. ④ rendering the virtual scene and outputting the picture (i.e., image frame) of the virtual scene.

[0192] In the embodiments of the present application, in order to record the related information of each node of the three-dimensional virtual object in the tree structure, the instantiation of the node in the virtual scene, and the real-time scheduling according to the target camera, the following classes are defined, and the target tree structure is taken as a quadtree structure (which can also be referred to as a quadtree) for example, the following classes can be defined: quadtree forest class, region class, quadtree class, quadtree node class, quadtree node source class, and node game object class.

[0193] Among them, ① the quadtree forest class (Forest) mainly records all the quadtree information of the virtual scene in a region, and is a summary of all information of the spatial scene model, including a quadtree list and a region class. The quadtree forest class is a collection of quadtrees corresponding to each three-dimensional virtual object in the virtual scene. Building the forest class is equivalent to sorting the relationship of the model data of all three-dimensional virtual objects in the quadtree, and after completing the construction of the quadtree forest class, the dynamic scheduling of the nodes of each quadtree can be realized.

[0194] ②Area class (area) mainly records the coordinate information of the area where the entire virtual scene is located, and its information is derived from metadata, mainly including: ①lat and lng, which are converted through SRS (spatial reference system) in metadata; ②name, which is the area ID in metadata; ③filePath, which is the file path of model data (i.e., model data information), the folder of model data under the same level of the file path of metadata; and ④depth, which is the number of node division levels included in the quadtree structure, and is the same as the quadtree depth in metadata.

[0195] ③In addition to recording the information of the quadtree, the Q_TileTree class also has four functions and a quadrant enumeration. For example, the quadrant enumeration is LL for the lower left corner, LR for the lower right corner, UL for the upper left corner, and UR for the upper right corner, which are replaced by integers 0, 1, 2, and 3, respectively. The quadrant of a node represents the position of the node in the four quadrants of the node coordinate system of the upper level node. The Q_TileTree class contains the following information: ①root, which is the root node of the quadtree; ②GName, which is the quadtree name; ③depth, which is the quadtree depth (i.e., the quadtree level); and ④lodList, which is the node source list of the root node. The functions of the Q_TileTree class include: ①creating a quadtree structure level, with parameters including the root node, the node division level of the quadtree (i.e., the depth), and the node source list of the root node (i.e., the node source information list); ②a function for inserting a node into the quadtree (i.e., the node source insertion function), with parameters including the node source and the inserted node; ③a function for initializing the bounding box of a node, with a parameter being the node whose bounding box is to be determined in the quadtree structure; and ④a function for sorting the node sources of the root node, with a parameter being the node source list of the root node. The sorting can be performed from high to low according to the node division level.

[0196] ④The Q_TileNode class mainly records the information of a single node in the quadtree structure, and is also the main reference object in the node evaluation calculation. The attributes of the Q_TileNode class include: ①bound, which is the bounding box of the node; ②child, which is the child node list; ③index, which is the quadrant position of the node in the node coordinate system of its parent node; ④name, which is the name of the node; ⑤filePath, which is the file path of the node model data (i.e., model data information); and ⑥depth, which is the depth of the node (i.e., the node division level).

[0197] The quadtree node source class (Q_TileNodeSource) is mainly used for inserting a node into a quadtree structure in units of nodes when creating a quadtree, and needs to use the name of the node, the depth (i.e., the node division level), the quadrant information, and the like, i.e., a class for recording the node source information described above. The quadtree node source class includes the following attributes: ① index node quadrant information, ② name of the node, ③ depth of the node division level of the node, and ④ indexStr node division level information in string format. Based on the above description, it can be known that the level information obtained by obtaining the node division level of the node through the file name is in string format, and therefore it is necessary to first receive the node division level in string format and then convert it into an integer form through the int.Parse() function. The quadtree node source class also includes a function: a function for obtaining the quadrant of a node at a given node division level (i.e., the level quadrant obtaining function) based on the given node division level. Based on the above description, if the input node division level is greater than the node division level corresponding to the node source information, the quadrant information at the input node division level cannot be obtained, i.e., the level quadrant obtaining function can only be used for the quadrant information of the upper layer of the node, and it is meaningless to obtain the quadrant information of the lower layer of the node.

[0198] The node game object class (Go_QTNode) is used for instantiating three-dimensional virtual objects in a virtual scene in units of GameObject basic classes. These objects can obtain new attribute or class information through the AddComponent method (a component adding method). The model data of a single node of a three-dimensional virtual object can be managed and loaded through the addition of a node game object class after the instantiation of the model data in the scene. The node game object class includes the following attributes: ① node of the quadtree structure, ② AssetLoaderOptions loading settings, ③ fbxPath file path of the model data (i.e., model data information), and the like.

[0199] In some embodiments, for the first loading of a terrain area of a virtual scene, the resource loading program first needs to traverse all the model data of three-dimensional virtual objects through the related information in the metadata, and establish a quadtree structure based on the quadtree class described above, and establish a quadtree forest structure based on the quadtree forest class. After the establishment of the quadtree forest structure is completed, the information of the quadtree forest structure is serialized into an xml configuration file, and the next time the area is displayed, the quadtree forest class of the area can be directly generated through the xml configuration file, so that after the information in an area is first loaded, the quadtree forest class in the same area can be efficiently loaded in the subsequent process, thereby improving the data loading efficiency.

[0200] The main information contained in the metadata metadata should include SRS (Spatial Reference System) information, QDepth (node partition level of quadtree, i.e., depth), and areaID (identification of the area, i.e., ID). The SRS is used as the spatial positioning of the area and can be understood as coordinate information that can be represented by longitude and latitude. The SRS contains the name of the spatial reference system and specific coordinates, such as longitude 1-longitude 2 and latitude 1-latitude 2. In some embodiments, the metadata records the basic information of the virtual scene in the entire area, which is the key to subsequent construction of the quadtree, positioning of the target camera, and instantiation of objects in the virtual scene. After selecting and reading the metadata, the information of the current area provided in the metadata is recorded in the area class: the SRS information is converted into the latitude lat and longitude lng in the area class; the QDepth information is the node partition level of the depth quadtree in the area class; the areaID is the name information; and the path of the metadata is changed to the path of the model data folder under the same level, serving as the attribute value of the file path attribute of the model data in the area class.

[0201] In some embodiments, the configuration information of the quadtree forest structure can be initialized through the area class. The model files of the model data of the three-dimensional virtual objects are not related to each other. In order to determine the relationship between the model data corresponding to each node partition level, the information of the three-dimensional virtual objects needs to be recorded into the quadtree node source class first, the node source information is inserted into the quadtree structure to record the node relationship of the model data of each three-dimensional virtual object in the quadtree structure, and finally all quadtree structures are collected into a quadtree forest structure, so as to complete the information collection of the model data of all three-dimensional virtual objects in the entire virtual scene.

[0202] In some embodiments, after recording the metadata to the area region class, all Tile blocks under the folder of the model data are read through the attribute of the file path filePath of the region class, where the Tile blocks are equivalent to nodes of a quadtree structure. For each node, the following operations are performed: ① setting the node division level of the node to be the same as the depth attribute of the region class; ② setting the name of the quadtree, i.e., the name of the folder of the model data; ③ traversing all the model data files (i.e., three-dimensional model files) of the FBX format of the three-dimensional virtual objects under the folder corresponding to the quadtree; ④ for each three-dimensional model file, obtaining the name, display quality level, and quadrant corresponding to the model data through the file name, and recording these information to the node source information list. In the node source information list, the node source information of the parent node is always arranged in front of the node source information of the child node through the above-mentioned function of arranging the node sources of the root node, so that the method of inserting the nodes into the quadtree structure one by one (i.e., the above-mentioned node source insertion function) can be used to complete the construction of the quadtree structure.

[0203] In some embodiments, after traversing all the folders of the model data corresponding to the quadtree and completing the recording of the node source information, the construction of the quadtree class is started. First, a function for creating a quadtree structure can be called, and the function is passed as a parameter the root node and the node source information list containing all the nodes in the entire quadtree structure. Then, the function (i.e., the above-mentioned node source insertion function) is called to insert the nodes in the node source list (i.e., the node source information list) into the quadtree one by one. The method of inserting the nodes in the node source information list into the nodes in the quadtree structure can be referred to the above-mentioned related description, which will not be repeated here. The essence of this method is to insert a node as a child node of another node to complete the insertion of the node.

[0204] In some embodiments, the model data of the three-dimensional virtual objects can be loaded and instantiated into the scene, or hidden or displayed in the virtual scene, by writing codes. When loading the model data, only the file path of the model data needs to be known, and multiple threads can be used to realize the simultaneous and parallel loading of the model data of multiple three-dimensional virtual objects, thereby improving the efficiency of loading the model data and the efficiency of rendering and displaying the virtual scene.

[0205] In some embodiments, after the information of the quadtree forest structure in the region is initialized, the longitude and latitude of the region are sent out as a message through the event dispatcher, and the receiving party is the control script mounted by the target camera. The control script places the target camera directly above the entire three-dimensional region to facilitate the observation of the entire virtual scene. In addition to the longitude and latitude information, the event dispatcher also sends a message indicating that the construction of the quadtree forest is complete and passes the forest class as a parameter, and the receiving party is the real-time update component MapManager script program. This message is used to start the real-time update component, so that the virtual scene can be initialized, and the loading of the model data of the first three-dimensional virtual object can be started.

[0206] In some embodiments, after receiving the message indicating that the construction of the quadtree forest is complete, the real-time update component starts to initialize the scene and load the blur data of the lowest display quality, i.e., the blur model. By combining the name of each tree structure in the quadtree forest structure with the name of the root node of the tree structure, the file path of the model data of the root node of each quadtree is obtained, and the FBX format model data of the root node of each tree is loaded through the determined file path.

[0207] After the blur model is loaded and instantiated into the scene, a node game object class component can be added, and the root node of the quadtree is used as the node information of the node game object class. By reading the bounding box (MeshRenderer.bound) of the mesh renderer component, the bounding box of the blur model is obtained, and the node bounding box attribute of the root node of the quadtree structure is assigned. After obtaining the node bounding box information of the root node, a function for initializing the bounding box in the quadtree node class is called, and the bounding box is assigned to the four corresponding quadrant child nodes based on the quadrants of the node coordinate system. The bounding box of each child node is recursively calculated until there is no child node, thereby completing the initialization of the bounding box of each node in the division hierarchy of the entire quadtree structure.

[0208] Then, a blur model node list allBlurModels can be established based on each root node to record all the root nodes of the quadtree structure, and a node game object class list (i.e., a display node list) showDic can be used to record all the displayed nodes in the current virtual scene. During initialization, the blur model node list is a list of root nodes of all three-dimensional virtual objects in the virtual scene, and the reality node list is empty.

[0209] In some embodiments, when rendering and displaying a virtual scene for the first time, a list of displayed nodes and a list of hidden nodes can be determined from the list of blurred model nodes based on the field of view of the target camera. Then, an object node evaluation list is determined based on the list of displayed nodes. When rendering and displaying the virtual scene in subsequent renderings, the list of displayed nodes from the previous image frame can be updated based on the field of view of the target camera to obtain a new list of displayed nodes and a new list of hidden nodes. Thus, when rendering an image frame, frustum culling is performed based on the field of view of the target camera, and the display quality of each displayed 3D virtual object is determined through node evaluation, thereby improving the rendering display quality while ensuring rendering efficiency.

[0210] S202. Obtain the image complexity of the target texture map corresponding to the target node; the image complexity of the target texture map is determined based on the image information entropy of the target texture map.

[0211] In some embodiments, image information entropy is an indicator of the degree of disorder in the distribution of gray values ​​in a texture map (i.e., the richness of detail): the more dispersed the gray value distribution of the texture map and the more balanced the proportion of various gray values, the higher the information entropy, meaning that the texture contains more complex details (such as intricately patterned fabric or rocks with varied textures); conversely, if the gray values ​​are concentrated in a few values ​​(such as solid colors or simple gradients), the information entropy is lower, and the texture is simpler. Therefore, the image complexity of a target texture map is essentially a quantitative representation of its information entropy. This indicator can intuitively reflect the richness of visual detail in the target node texture, providing an important basis for subsequent node evaluation and display quality adjustment.

[0212] S203. Based on the target node bounding box to which the target node belongs, determine the target size information of the target node bounding box.

[0213] In some embodiments, the target size information of the target node is determined based on a target node bounding box to which the target node belongs. The core is to quantify the spatial size of the node through the geometric parameters of the bounding box. The target node bounding box is the smallest boundary body (usually an axis-aligned cuboid) that wraps all geometric elements of the target node, and its size information can be obtained by calculating the span of the bounding box in three coordinate axes (X, Y, Z axes) in three-dimensional space. The maximum coordinate value and the minimum coordinate value of the bounding box in each axis direction are obtained, and the difference between the two is the size in the axis direction (for example, the X-axis size = X-axis maximum value - X-axis minimum value, and the Y-axis and Z-axis sizes are the same). These axis direction sizes together constitute the target size information of the target node bounding box, which can be individual axis direction length, or comprehensive volume or projected size on the screen, etc. This size information intuitively reflects the spatial occupancy size of the target node, and is an important basis for subsequent evaluation of node display priority and dynamic adjustment of rendering precision (for example, large size nodes are more visually prominent, and usually require higher rendering quality).

[0214] S204, based on the target size information, the camera view distance between the target node and the target camera, and the image complexity, performing node evaluation on the target node to obtain a node evaluation result of the target node.

[0215] In some embodiments, the target node is evaluated based on the target size information, the camera view distance between the target node and the target camera, and the image complexity. The essence is to quantify the rendering priority of the node by comprehensively considering these three key factors, and finally obtain the node evaluation result. Specifically, the target size information reflects the physical size of the node in space or the screen projection ratio (the larger the size, the higher the visual weight); the camera view distance reflects the distance between the node and the observation angle (the closer the distance, the more details need to be presented, and the higher the priority); and the image complexity represents the detail richness of the node texture (the higher the complexity, the more details need to be retained when close). In the evaluation process, the three factors are first quantitatively processed (such as standardized to a unified numerical range), and then a comprehensive evaluation index is calculated through a preset weighting algorithm (each factor is assigned a weight according to the scene requirements), and finally it is determined whether the node meets the current rendering display condition (such as whether the display quality needs to be improved, maintained or reduced) according to the index, thereby forming the node evaluation result. This result provides data support for subsequent dynamic adjustment of the rendering strategy of the node (such as loading model data with different fineness), and realizes the balance between rendering effect and performance.

[0216] S205, if the node evaluation result indicates that the target node does not meet the rendering display condition, obtaining a node division level of a child node of the target node.

[0217] In some embodiments, if the node evaluation result indicates that the target node does not meet the rendering display condition (i.e., the display quality of the current node cannot meet the scene requirement, usually because the evaluation index is lower than the first value), the node division level of the child node of the target node needs to be obtained. This is because the division level of the child node belongs to the next level (deeper level) of the target node, and the corresponding model data is more refined (higher display quality), which can make up for the insufficient quality of the target node. The level information of the child node is obtained in order to find the corresponding child node based on the level in the subsequent process, and then switch to the high-quality model data of the child node for rendering, so as to meet the display quality requirement of the target node in the scene, realize the upgrade adjustment from the low-quality level to the high-quality level, and ensure that the display effect of the three-dimensional virtual object meets the visual requirements of the current scene.

[0218] In some embodiments, based on the above description, if the node evaluation result indicates that the target node does not meet the rendering display condition, the display quality of the three-dimensional virtual object needs to be improved, such as rendering and displaying the three-dimensional virtual object based on the node model data corresponding to the child node of the target node, so as to obtain a three-dimensional virtual object with better display quality.

[0219] In some embodiments, the node division level of the child node of the target node can be obtained by adding one to the node division level of the target node, thereby obtaining the node division level of the child node of the target node.

[0220] S206, if the node division level of the child node of the target node is the maximum division level of the target tree structure, and the target node is located in the field of view corresponding to the target camera, the target node is updated by the child node of the target node in the object node evaluation list, and an updated target node is obtained.

[0221] In some embodiments, the maximum division level of the target tree structure can be the maximum node division node of the target tree structure. For example, in the target tree structure shown in FIG. 4, the maximum division level can be the second level.

[0222] In some embodiments, in the object node evaluation list, the target node is updated by the child node of the target node to obtain an updated target node, the target node can be removed from the object node evaluation list, and the child node of the target node can be added to the object node evaluation list to obtain an updated object node evaluation list, and then any node in the updated object node evaluation list can be used as the target node.

[0223] Embodiments of the present application also include: if the node division level of the child node of the target node is the maximum division level of the target tree structure, and the target node is located in the field of view corresponding to the target camera, the child node of the target node is rendered and displayed when rendering and displaying the three-dimensional virtual object, and the target node is hidden.

[0224] If the node division level of the child node of the target node is the maximum division level of the target tree structure, and the target node is located in the field of view corresponding to the target camera, the child node of the target node can be added to the first display node list, and the target node can be removed from the first display node list to obtain an updated first display node list, and the target node can be added to the first hidden node list to obtain an updated first hidden node list.

[0225] For example, refer to FIG. 11, which is a flowchart of a rendering process provided by an embodiment of the present application. First, an object node evaluation list can be obtained (step S1101a), and the manner of obtaining the object node evaluation list can refer to the related description above, which will not be repeated here. The target node is evaluated to obtain a node evaluation result of the target node (step S1102a), and then it is determined whether the node evaluation result of the target node meets a rendering display condition (step S1103a). If the rendering display condition is met, when the target node is located in the field of view corresponding to the target camera, the target node is rendered and displayed when rendering and displaying the three-dimensional virtual object, and the child node of the target node is hidden (step S1104a). If the rendering display condition is not met, the node division level of the child node of the target node is obtained (step S1105a), and then it is determined whether the node division level of the child node of the target node is the maximum division level of the target tree structure (step S1106a). If the node division level of the child node of the target node is the maximum division level of the target tree structure, when the target node is located in the field of view corresponding to the target camera, the child node of the target node is rendered and displayed when rendering and displaying the three-dimensional virtual object, and the target node is hidden (step S1108a). If the node division level of the child node of the target node is not the maximum division level of the target tree structure, when the target node is located in the field of view corresponding to the target camera, the target node is updated by the child node of the target node in the object node evaluation list to obtain an updated target node (step S1107a), and the specific processing process can refer to the related description above, which will not be repeated here.

[0226] The embodiment of the application further includes: if the node evaluation result indicates that the target node meets the rendering display condition and the fuzzy display condition, and the node evaluation results of the nodes having the same parent node as the target node all indicate that the nodes meet the fuzzy display condition, the parent node of the target node is rendered and displayed, and the target node and the nodes having the same parent node as the target node are hidden when the three-dimensional virtual object is rendered and displayed.

[0227] In some embodiments, the fuzzy display condition can be a condition of reducing the display quality of the three-dimensional virtual model. For example, based on the above description, the fuzzy display condition can be that the evaluation index is greater than a second value (such as 2). If the node evaluation result of a node indicates that the node meets the fuzzy display condition, the node must meet the rendering display condition, that is, whether the node meets the fuzzy display condition is considered only when the node meets the rendering display condition, that is, whether the display quality of the node needs to be reduced or maintained is considered. For example, the rendering display condition can be that the evaluation index is greater than a first value (such as 1), and the fuzzy display condition is that the evaluation index is greater than a second value (such as 2), and the second value is greater than the first value.

[0228] In some embodiments, if the node evaluation results of the nodes having the same parent node as the target node all indicate that the nodes meet the fuzzy display condition, it indicates that the nodes having the same parent node as the target node can all reduce the display quality, and thus the parent node of the target node can be rendered and displayed, and the target node and the nodes having the same parent node as the target node can be hidden when the three-dimensional virtual object is rendered and displayed. The node model data corresponding to the parent node is model data of a lower display quality level, so that the parent node of the target node is rendered and displayed, that is, the display quality of the target node and the nodes having the same parent node as the target node is reduced.

[0229] In some embodiments, if the node evaluation result indicates that the target node meets the fuzzy display condition, and the node evaluation results of the nodes having the same parent node as the target node all indicate that the nodes meet the fuzzy display condition, the parent node of the target node can be added to the first display node list, and the target node can be removed from the first display node list to obtain an updated first display node list, and the target node can be added to the first hidden node list to obtain an updated first hidden node list.

[0230] Thus, from the perspective of performance optimization, the rendering of a single parent node is used to replace the rendering of multiple child nodes, greatly reducing the number of nodes that need to be calculated and rendered in real time, reducing the rendering pressure of the GPU and the resource scheduling cost of the CPU. Especially when the number of child nodes is large, the number of triangles, texture sampling and other rendering overheads can be effectively reduced, and the running frame rate of the virtual scene can be improved. From the perspective of visual experience balance, since these child nodes all meet the fuzzy display condition (i.e. no need for fine display under the current scene), the lower quality level model data of the parent node can meet the visual demand, and hiding the child nodes will not cause the lack of picture details, but avoid the waste of resources caused by redundant details, achieving the balance of "low consumption + meeting visual demand". From the perspective of hierarchical management efficiency, based on the node evaluation results and the parent-child hierarchical relationship, batch hiding and alternative rendering are performed, which strengthens the linkage management of the node hierarchy in the target tree structure, makes the rendering decision more in line with the hierarchical logic of the tree structure, and improves the systematicness and efficiency of the three-dimensional virtual object rendering process.

[0231] For example, please refer to FIG. 12, which is a flowchart of another rendering process provided by an embodiment of the present application. First, the object node evaluation list can be obtained (step S1201a), then the target node is subjected to node evaluation to obtain the node evaluation result of the target node (step S1202a), then it is judged whether the node evaluation result of the target node meets the fuzzy display condition (step S1203a), if not, it is judged whether the node evaluation result of the target node meets the rendering display condition (step S1207a), if yes, when the target node is located in the field of view corresponding to the target camera, the target node is rendered and displayed when rendering and displaying the three-dimensional virtual object, and the child nodes of the target node are subjected to node hiding (step S1208a), if not, the relevant description of steps S1103-S1108 in FIG. 11 above can be performed, which will not be repeated here.

[0232] If the fuzzy display condition is met, the node evaluation result corresponding to the node having the same parent node as the target node is obtained (step S1204a), and it is determined whether the node evaluation result corresponding to the node having the same parent node as the target node meets the fuzzy display condition (step S1205a). If the node evaluation result corresponding to the node having the same parent node as the target node does not meet the fuzzy display condition, when the target node is located in the field of view corresponding to the target camera, the target node is rendered and displayed and the child nodes of the target node are hidden (step S1208a) when the three-dimensional virtual object is rendered and displayed. If the node evaluation result corresponding to the node having the same parent node as the target node meets the fuzzy display condition, the parent node of the target node is rendered and displayed when the three-dimensional virtual object is rendered and displayed, and the target node and the node having the same parent node as the target node are hidden (step S1206a). Thus, whether each node needs to reduce the display quality can be determined based on the node evaluation result, so that after the camera parameter is changed, the nodes that are not easy to attract attention are displayed with lower display quality, so that the moment of a certain three-dimensional virtual object does not need to maintain a relatively high display quality, thereby reducing the data processing amount and improving the rendering efficiency.

[0233] In some embodiments, the rendering of a complete virtual scene is described herein in conjunction with the figures, see FIG. 13, which is a schematic diagram of a virtual scene rendering process according to an embodiment of the present application. As shown in FIG. 13, the rendering of a virtual scene is mainly completed through two major processes, namely, the process of the resource loading component 1311a for obtaining the model data information of a three-dimensional virtual object and generating a quadtree structure, and the process of the real-time updating component 1312a for continuously updating the loading of a three-dimensional virtual object in the running of a virtual scene. The process of the resource loading component 1311a can refer to the related description above. The real-time updating component 1312a can call an update function (Update function) once for each frame of the virtual scene running, to realize the dynamic loading replacement of the model in the virtual scene and the hiding work. Before the rendering of a virtual scene, model data input (step S1301a) can be performed first, that is, the model data of all three-dimensional virtual objects in the virtual scene is input. The resource loading component 1311a can read the region information of the virtual scene, traverse all the model data (step S1302a), and then construct the target tree structure corresponding to each three-dimensional virtual object in the virtual scene (step S1303a). The texture map of each node can also be read (step S1304a), the grayscale texture image is determined based on the texture map, and the information entropy of the texture map is determined based on the grayscale texture image (step S1305a), the image complexity is obtained based on the weighted conversion of the information entropy (step S1306a). The real-time updating component 1312a can be called to initialize the virtual scene (step S1307a), then the view frustum culling processing is performed in real time to display or hide the nodes of the three-dimensional virtual object, the node evaluation is performed and the display quality of the three-dimensional virtual object is adjusted based on the node evaluation result (step S1308a), so as to perform real-time updating display of the virtual scene, and the image frame is rendered and output (step S1309a). The processing processes of the resource loading component and the real-time updating component can refer to the related description above, which will not be described here. When performing node evaluation, the node evaluation can be performed based on the calculated image complexity, camera view distance, and size information of the node bounding box, so that in the real-time updating module, the display node is updated based on the node evaluation result, so as to adjust the display quality of the three-dimensional virtual object. The embodiments of the present application can reduce the drawing of model nodes with less attention from the observer, reduce the drawing of part of the model nodes, and thus optimize the rendering rate of the overall space scene. In addition, the present application can calculate the image complexity as a preparatory work, record the image complexity of each node model in the quadtree node class after the calculation is completed, and directly call the image complexity to participate in the node evaluation in the virtual roaming process, so as to improve the efficiency of node evaluation.

[0234] Please refer to FIG. 14, which is a structural schematic diagram of an object rendering device based on a tree structure according to an embodiment of the present application. As shown in FIG. 14, the object rendering device based on a tree structure 1 can be a computer program (including program code) running on a computer device (for example, the server 100a described above), for example, the object rendering device based on a tree structure 1 is an application software; the object rendering device based on a tree structure 1 can be configured to perform corresponding steps in the object rendering method based on a tree structure provided by the embodiments of the present application. As shown in FIG. 14, the object rendering device based on a tree structure 1 can include an evaluation list obtaining module 11, a complexity obtaining module 12, a size determining module 13, an evaluation result determining module 14, and a rendering display module 15.

[0235] The evaluation list obtaining module 11 is configured to obtain an object node evaluation list associated with a three-dimensional virtual object to be rendered in a virtual scene; the object node evaluation list includes a target node to be evaluated; the target node is a node in a target tree structure corresponding to the three-dimensional virtual object;

[0236] The complexity obtaining module 12 is configured to obtain an image complexity of a target texture map corresponding to the target node; the image complexity of the target texture map is determined based on an image information entropy of the target texture map;

[0237] The size determining module 13 is configured to determine target size information of a target node bounding box based on the target node bounding box to which the target node belongs;

[0238] The evaluation result determining module 14 is further configured to perform node evaluation on the target node based on the target size information, a camera view distance between the target node and a target camera, and the image complexity, to obtain a node evaluation result of the target node;

[0239] The rendering display module 15 is configured to, if the node evaluation result indicates that the target node meets a rendering display condition and the target node is located within a field of view range corresponding to the target camera, render and display the target node and perform node hiding on a child node of the target node when rendering and displaying the three-dimensional virtual object.

[0240] The complexity obtaining module 12 is specifically configured to:

[0241] Obtain a target texture map corresponding to the target node, perform grayscale processing on the target texture map, and obtain a grayscale texture image of the target texture map;

[0242] Determine a target pixel with a target grayscale value from the grayscale texture image, and perform rejection processing on the target pixel in the grayscale texture image;

[0243] The image information entropy of the target texture map is determined based on the gray value proportion corresponding to each gray value.

[0244] The image information entropy is weighted and converted to obtain the image complexity of the target texture map.

[0245] The object rendering device based on the tree structure 1 further comprises a tree structure determination module 16.

[0246] The tree structure determination module 16 is specifically configured to:

[0247] Obtain the root node of the target tree structure to be created corresponding to the three-dimensional virtual object and the node source information list of the root node. The node source information list includes the node source information of each node of the target tree structure to be created. The node source information of each node of the target tree structure includes the corresponding node division level.

[0248] Determine the target node source information to be added to the target tree structure from the node source information list by taking the root node as the inserted node.

[0249] When the node division level of the target node source information is the next node division level of the inserted node, obtain the to-be-processed node under the inserted node. The to-be-processed node is a node without added node source information in the child nodes of the inserted node.

[0250] Obtain the quadrant information corresponding to the target node source information, determine the target to-be-processed node to which the target node source information is to be added from the to-be-processed nodes of the inserted node based on the quadrant information, and add the target node source information to the target to-be-processed node.

[0251] Determine the target tree structure corresponding to the three-dimensional virtual object based on the target to-be-processed node to which the target node source information is added.

[0252] The tree structure determination module 16 is further configured to:

[0253] When the node division level of the target node source information is not the next node division level of the inserted node, obtain the first-level node created under the root node, determine the first-level node to which the target node source belongs from the first-level node, and determine the first-level node to which the target node belongs as the updated inserted node. The first-level node is a node at the next node division level of the root node.

[0254] When the node division level of the target node source information is the next node division level of the updated inserted node, obtain the to-be-processed node under the updated inserted node. The to-be-processed node is a node without added node source information in the child nodes of the inserted node.

[0255] determine a target to-be-processed node to which the target node source information is to be added based on the quadrant information and the updated inserted node;

[0256] add the target node source information to the target to-be-processed node, and determine a target tree structure corresponding to the three-dimensional virtual object based on the target to-be-processed node to which the target node source information is added.

[0257] The node source information of each node of the target tree structure includes corresponding model data information.

[0258] The tree structure determination module 16 is further configured to:

[0259] obtain model data of the three-dimensional virtual object at a plurality of display quality levels, perform model data division on the model data at each display quality level to obtain node model data corresponding to nodes at a node division level corresponding to each display quality level, and one display quality level corresponds to one node division level.

[0260] determine node source information of each node in the target tree structure to be created based on model data information of the node model data corresponding to each node and the node division level of each node, and the node model data corresponding to one node is used to determine the node source information of the node.

[0261] The rendering display module 15 is further configured to:

[0262] If the node evaluation result indicates that the target node does not meet the rendering display condition, the node division level of the child node of the target node is obtained.

[0263] If the node division level of the child node of the target node is the maximum division level of the target tree structure, and the target node is located in the field of view corresponding to the target camera, the target node is updated by the child node of the target node in the object node evaluation list to obtain an updated target node.

[0264] The rendering display module 15 is further configured to:

[0265] If the node division level of the child node of the target node is the maximum division level of the target tree structure, and the target node is located in the field of view corresponding to the target camera, the child node of the target node is rendered and displayed when the three-dimensional virtual object is rendered and displayed, and the target node is hidden.

[0266] The rendering display module 15 is further configured to:

[0267] If the node evaluation result indicates that the target node meets the rendering display condition and the blur display condition, and the target node is located in the field of view range corresponding to the target camera, a node evaluation result corresponding to a node having the same parent node as the target node is obtained;

[0268] If the node evaluation result corresponding to the node having the same parent node as the target node all indicate that the node meets the blur display condition, when the three-dimensional virtual object is rendered and displayed, the parent node of the target node is rendered and displayed, and the target node and the node having the same parent node as the target node are node hidden.

[0269] The number of the three-dimensional virtual objects in the virtual scene is a plurality; each three-dimensional virtual object corresponds to a target tree structure.

[0270] The evaluation list obtaining module 11 is specifically configured as:

[0271] In the virtual scene, a field of view range indicated by a frustum corresponding to a target camera is determined.

[0272] Based on the positional relationship between the field of view range and the object bounding box of each three-dimensional virtual object, node detection is performed on each three-dimensional virtual object to obtain a node detection result of each three-dimensional virtual object; the node detection result is used to indicate that the three-dimensional virtual object is located in the field of view range, or is used to indicate that the three-dimensional virtual object is not located in the field of view range.

[0273] Based on the node detection result of each three-dimensional virtual object, a first hidden node list and a first display node list associated with the virtual scene are determined.

[0274] The object node evaluation list is determined based on the nodes in the first display node list.

[0275] The object node evaluation list is an object node evaluation list determined when a target image frame is rendered and displayed.

[0276] The evaluation list obtaining module 11 is specifically configured as:

[0277] A second display node list and a second hidden node list determined when a previous image frame of the target image frame is rendered and displayed are obtained.

[0278] Based on the node detection result of each three-dimensional virtual object, the second display node list and the second hidden node list are updated to obtain the first hidden node list and the first display node list associated with the virtual scene.

[0279] The plurality of three-dimensional virtual objects in the virtual scene includes a target three-dimensional virtual object.

[0280] The evaluation list obtaining module 11 is specifically configured as:

[0281] If the target display node in the target tree structure corresponding to the target three-dimensional virtual object is included in the second display node list, and the node detection result of the target three-dimensional virtual object indicates that the target three-dimensional virtual object is located outside the field of view range, the target display node is added to the waiting hidden node list;

[0282] The second hidden node list is updated based on the target display node in the waiting hidden node list, to obtain the first hidden node list;

[0283] The target display node is removed from the second display node list to obtain the first display node list.

[0284] Among the plurality of three-dimensional virtual objects in the virtual scene, the target three-dimensional virtual object is included.

[0285] The evaluation list acquisition module 11 is specifically configured as:

[0286] If any node in the target tree structure corresponding to the target three-dimensional virtual object is not included in the second display node list, and the node detection result of the target three-dimensional virtual object indicates that the target three-dimensional virtual object is located within the field of view range, the node detection result of the target three-dimensional virtual object is added to the second display node list to obtain the first display node list associated with the virtual scene.

[0287] The root node of the target three-dimensional virtual object is removed from the second hidden node list to obtain the first hidden node list associated with the virtual scene.

[0288] Among the nodes in the target tree structure, the first node and the second node are included; the second node is a child node of the first node.

[0289] The object rendering device based on the tree structure 1 further comprises a bounding box determination module 17.

[0290] The bounding box determination module 17 is specifically configured as:

[0291] A first node bounding box of the first node is obtained; the first node bounding box is associated with a node coordinate system corresponding to the first node; the node coordinate system has an origin at the center position of the first node bounding box.

[0292] A plurality of quadrants are determined in the node coordinate system corresponding to the first node, and the first node bounding box is divided based on the plurality of quadrants to obtain a sub-bounding box corresponding to each quadrant; the second node is included in each sub-bounding box corresponding to each quadrant.

[0293] Based on the second node in each sub-bounding box corresponding to each quadrant, a second node bounding box of the second node is determined.

[0294] The target node is added with node source information, and the node source information of the target node includes model data information of the node model data of the target node.

[0295] The rendering display module 15 is specifically configured as:

[0296] If the node evaluation result indicates that the target node meets the rendering display condition, and the target node is located in the field of view range corresponding to the target camera, the target node is added to the to-be-displayed node stack associated with the virtual scene, and the child nodes of the target node are added to the first hidden node list associated with the virtual scene; the first hidden node list can be a hidden node list determined based on the field of view range of the target camera.

[0297] When rendering and displaying the three-dimensional virtual object, the target node is popped from the to-be-displayed node stack, the model data information in the node source information of the target node is obtained, the node model data of the target node is obtained, and the target node is rendered and displayed based on the node model data of the target node.

[0298] The rendering display module 15 is specifically configured as:

[0299] After instantiating the three-dimensional virtual object in the virtual scene, a target display node list associated with the virtual scene is obtained; the target display node list includes a target node.

[0300] The node loading detection of the target node is performed to obtain a node display detection result of the target node.

[0301] If the node display detection result is used to indicate that the target node fails to load, the target node in the target display node list is added to a temporary processing list, the node model data of the target node is reloaded, and the target node is rendered and displayed based on the reloaded node model data.

[0302] The evaluation list obtaining module 11 is specifically configured as:

[0303] When detecting that the camera parameter of the target camera exists parameter update, an object node evaluation list associated with the to-be-rendered three-dimensional virtual object in the virtual scene is obtained.

[0304] Please refer to FIG. 15, which is a structural schematic diagram of a computer device provided in an embodiment of the present application. As shown in FIG. 15, the computer device 1000 can include a processor 1001, a network interface 1004 and a memory 1005, and in addition, the aforementioned computer device 1000 can further include a user interface 1003 and at least one communication bus 1002. The communication bus 1002 is configured to realize the connection and communication between the components. The user interface 1003 can include a display, a keyboard, and optionally the user interface 1003 can further include a standard wired interface, a wireless interface. The network interface 1004 can include a standard wired interface, a wireless interface (such as a WI-FI interface). The memory 1005 can be a high-speed RAM memory, or a non-volatile memory, for example, at least one disk memory. The memory 1005 can also be at least one storage device located away from the aforementioned processor 1001. As shown in FIG. 15, the memory 1005 as a computer readable storage medium can include an operating system, a network communication module, a user interface module and a device control application program.

[0305] In the computer device 1000 as shown in FIG. 15, the network interface 1004 can provide network communication functions; the user interface 1003 is mainly configured to provide an interface for the user to input; and the processor 1001 can be configured to call the device control application program stored in the memory 1005 to execute the description of the object rendering method based on the tree structure in any one of the aforementioned embodiments, which will not be repeated here. In addition, the beneficial effects of using the same method will not be described here.

[0306] In addition, it should be noted that the present embodiment also provides a computer readable storage medium, and the computer readable storage medium stores the computer program executed by the aforementioned object rendering device 1 based on the tree structure, and the computer program includes program instructions, and when the processor executes the program instructions, the description of the object rendering method based on the tree structure in the aforementioned embodiments can be executed, therefore, which will not be repeated here. In addition, the beneficial effects of using the same method will not be described here. For the technical details not disclosed in the computer readable storage medium embodiment of the present application, please refer to the description of the method embodiment of the present application.

[0307] The computer readable storage medium can be an internal storage unit of the computer device or the object rendering apparatus based on tree structure provided by any of the preceding embodiments, for example, a hard disk or a memory of the computer device. The computer readable storage medium can also be an external storage device of the computer device, for example, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, and the like. The computer readable storage medium can also include both the internal storage unit and the external storage device of the computer device. The computer readable storage medium is configured to store the computer program and other programs and data required by the computer device. The computer readable storage medium can also be configured to temporarily store data that has been output or is to be output.

[0308] In addition, it should be noted that the embodiments of the present application also provide a computer program product or a computer program, which includes computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions to enable the computer device to perform the method provided by any of the preceding embodiments. In addition, the beneficial effects of using the same method are not described again. For technical details of the computer program product or the computer program not disclosed in the embodiments of the present application, please refer to the description of the method embodiments of the present application.

[0309] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works with other related parts to achieve a predetermined target, and can be implemented entirely or partially by using software, hardware (such as a processing circuit or a memory) or a combination thereof. Similarly, one processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be a part of an overall module or unit that includes the functions of the module or unit.

[0310] The terms "first", "second", and the like in the specification and claims of the embodiments of the present application and the drawings are used to distinguish different objects, and are not used to describe a specific order. In addition, the term "comprising" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, device, product, or apparatus that includes a series of steps or units is not limited to the listed steps or modules, but can optionally include steps or modules that are not listed, or can optionally include other steps or units inherent to the process, method, device, product, or apparatus.

[0311] Those skilled in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized in electronic hardware, computer software or a combination of both. In order to clearly illustrate the interchangeability of hardware and software, the components and steps of each example have been described in the above description in a general manner. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0312] The above disclosure is only the preferred embodiments of the present application, and of course cannot be used to limit the scope of the rights of the present application, so equivalent changes made in accordance with the claims of the present application are still within the scope of the present application.

Claims

1. A tree structure based object rendering method, the method comprising: obtaining an object node evaluation list associated with a three-dimensional virtual object to be rendered in a virtual scene; the object node evaluation list comprising a target node to be evaluated; the target node being a node in a target tree structure corresponding to the three-dimensional virtual object; obtaining an image complexity of a target texture map corresponding to the target node; the image complexity of the target texture map being determined based on an image information entropy of the target texture map; determining target size information of a target node bounding box to which the target node belongs based on the target node bounding box; performing node evaluation on the target node based on the target size information, a camera view distance between the target node and a target camera, and the image complexity, to obtain a node evaluation result of the target node; if the node evaluation result indicates that the target node meets a rendering display condition and the target node is located within a field of view range corresponding to the target camera, rendering and displaying the target node and performing node hiding on child nodes of the target node when rendering and displaying the three-dimensional virtual object.

2. The method of claim 1, wherein, the obtaining of the image complexity of the target texture map corresponding to the target node comprises: obtaining the target texture map corresponding to the target node, and performing grayscale processing on the target texture map to obtain a grayscale texture image of the target texture map; determining a target pixel with a target grayscale value from the grayscale texture image, and performing culling processing on the target pixel in the grayscale texture image; counting each grayscale value pixel in the grayscale texture image after the target pixel is culled to obtain a grayscale value proportion corresponding to each grayscale value, and determining the image information entropy of the target texture map based on the grayscale value proportion of each grayscale value; performing weighted conversion processing on the image information entropy to obtain the image complexity of the target texture map.

3. The method of claim 1, wherein, the method further comprises: obtaining a root node of a target tree structure to be created corresponding to the three-dimensional virtual object and a node source information list of the root node; the node source information list comprising node source information of each node of the target tree structure to be created; the node source information of each node of the target tree structure comprising a corresponding node division level; determining the root node as an inserted node, and determining target node source information to be added to the target tree structure from the node source information list; when the node division level of the target node source information is a next node division level of the inserted node, obtaining a to-be-processed node under the inserted node; the to-be-processed node being a node without added node source information among child nodes of the inserted node; obtaining quadrant information corresponding to the target node source information, determining a target to-be-processed node to which the target node source information is to be added from the to-be-processed nodes of the inserted node based on the quadrant information, and adding the target node source information to the target to-be-processed node; determine a target tree structure corresponding to the three-dimensional virtual object based on the target to-be-processed node to which the target node source information is added; the method further comprises: determining the object node evaluation list associated with the three-dimensional virtual object to be rendered in the virtual scene based on the target tree structure.

4. The method of claim 3, wherein, The method further comprises: when the node division level of the target node source information is not the next node division level of the inserted node, obtaining a first level node created under the root node, determining the first level node to which the target node source belongs from the first level node, and determining the first level node to which the target node belongs as the updated inserted node; the first level node is a node at the next node division level of the root node; when the node division level of the target node source information is the next node division level of the updated inserted node, obtaining the to-be-processed node under the updated inserted node; the to-be-processed node is a node without added node source information in the child node of the inserted node; determine the target to-be-processed node to which the target node source information is to be added from the to-be-processed nodes of the updated inserted node based on the quadrant information; add the target node source information to the target to-be-processed node, and determine a target tree structure corresponding to the three-dimensional virtual object based on the target to-be-processed node to which the target node source information is added.

5. The method of claim 3, wherein, The node source information of each node of the target tree structure includes corresponding model data information; the method further comprises: obtaining model data of the three-dimensional virtual object at multiple display quality levels, performing model data division on the model data at each display quality level to obtain node model data corresponding to nodes at the node division level corresponding to each display quality level; one display quality level corresponds to one node division level; determine the node source information of each node in the target tree structure to be created based on the model data information of the node model data corresponding to each node and the node division level of each node; the node model data corresponding to one node is used to determine the node source information of one node.

6. The method of claim 5, wherein, The method further comprises: For each display quality level, the following processing is performed respectively: obtain the to-be-divided object determined by the model data at the display quality level, and establish a node coordinate system for the to-be-divided object; based on each quadrant of the node coordinate system, divide the to-be-divided object into a plurality of sub-objects, and determine the model data corresponding to each sub-object; based on the model data corresponding to each sub-object, determine the node model data corresponding to each sub-object, and obtain the node model data corresponding to the nodes at the node division level corresponding to the display quality level.

7. The method of claim 1, wherein, The method further comprises: If the node evaluation result indicates that the target node does not meet the rendering display condition, a node division level of a child node of the target node is obtained; If the node division level of the child node of the target node is the maximum division level of the target tree structure, and the target node is located in the field of view range corresponding to the target camera, the target node is updated by the child node of the target node in the object node evaluation list, to obtain an updated target node.

8. The method of claim 1, wherein, The method further comprises: If the node evaluation result indicates that the target node does not meet the rendering display condition, a node division level of a child node of the target node is obtained; If the node division level of the child node of the target node is the maximum division level of the target tree structure, and the target node is located in the field of view range corresponding to the target camera, the target node is updated by the child node of the target node in the object node evaluation list, to obtain an updated target node.

9. The method of claim 1, wherein, If the node evaluation result indicates that the target node meets the rendering display condition, and the target node is located in the field of view range corresponding to the target camera, the target node is rendered and displayed, and the child node of the target node is node-hidden when the three-dimensional virtual object is rendered and displayed. If the node evaluation result indicates that the target node does not meet the blur display condition, and meets the rendering display condition, and the target node is located in the field of view range corresponding to the target camera, the target node is rendered and displayed, and the child node of the target node is node-hidden when the three-dimensional virtual object is rendered and displayed. The method further comprises: If the node evaluation result indicates that the target node meets the rendering display condition and the blur display condition, and the target node is located in the field of view range corresponding to the target camera, a node evaluation result corresponding to a node having the same parent node as the target node is obtained; If the node evaluation result corresponding to the node having the same parent node as the target node all indicate that the node meets the blur display condition, the parent node of the target node is rendered and displayed, and the target node and the node having the same parent node as the target node are node-hidden when the three-dimensional virtual object is rendered and displayed.

10. The method of claim 1, wherein, The number of three-dimensional virtual objects in the virtual scene is a plurality; each three-dimensional virtual object corresponds to a target tree structure; The method further comprises: In the virtual scene, a field of view range indicated by a frustum corresponding to the target camera is determined; Based on the positional relationship between the field of view range and the object bounding boxes of the three-dimensional virtual objects, the three-dimensional virtual objects are node-detected to obtain node detection results of the three-dimensional virtual objects; the node detection results are used to indicate that the three-dimensional virtual objects are located in the field of view range, or are used to indicate that the three-dimensional virtual objects are not located in the field of view range; determine, based on the node detection result of each three-dimensional virtual object, a first hidden node list and a first display node list associated with the virtual scene; determine the object node evaluation list based on the nodes in the first display node list; the node hiding of the child nodes of the target node comprises: add the child nodes of the target node to the first hidden node list, and the first hidden node list is used to perform the node hiding.

11. The method of claim 10, wherein, the object node evaluation list is an object node evaluation list determined when a target image frame is rendered and displayed; the determining, based on the node detection result of each three-dimensional virtual object, a first hidden node list and a first display node list associated with the virtual scene comprises: obtain a second display node list and a second hidden node list determined when a previous image frame of the target image frame is rendered and displayed; update the second display node list and the second hidden node list based on the node detection result of each three-dimensional virtual object to obtain the first hidden node list and the first display node list associated with the virtual scene.

12. The method of claim 10, wherein, the plurality of three-dimensional virtual objects in the virtual scene comprises a target three-dimensional virtual object; the updating the second display node list and the second hidden node list based on the node detection result of each three-dimensional virtual object to obtain the first hidden node list and the first display node list associated with the virtual scene comprises: if the target display node corresponding to the target three-dimensional virtual object in a target tree structure is included in the second display node list, and the node detection result of the target three-dimensional virtual object indicates that the target three-dimensional virtual object is located outside the field of view, add the target display node to a waiting hidden node list; update the second hidden node list based on the target display node in the waiting hidden node list to obtain the first hidden node list; remove the target display node from the second display node list to obtain the first display node list.

13. The method of claim 10, wherein, the plurality of three-dimensional virtual objects in the virtual scene comprises a target three-dimensional virtual object; the updating the second display node list and the second hidden node list based on the node detection result of each three-dimensional virtual object to obtain the first hidden node list and the first display node list associated with the virtual scene comprises: if none of the nodes in the target tree structure corresponding to the target three-dimensional virtual object is included in the second display node list, and the node detection result of the target three-dimensional virtual object indicates that the target three-dimensional virtual object is located within the field of view, add the node detection result of the target three-dimensional virtual object to the second display node list to obtain the first display node list associated with the virtual scene; remove the root node of the target three-dimensional virtual object from the second hidden node list to obtain the first hidden node list associated with the virtual scene.

14. The method of claim 1, wherein, the nodes in the target tree structure comprise a first node and a second node; the second node is a child node of the first node; The method further includes: obtaining a first node bounding box of the first node; the first node bounding box is associated with a node coordinate system corresponding to the first node; the node coordinate system has a center position of the first node bounding box as an origin; determining a plurality of quadrants in the node coordinate system corresponding to the first node, performing bounding box division on the first node bounding box based on the plurality of quadrants to obtain a sub-bounding box corresponding to each quadrant; the sub-bounding box corresponding to each quadrant includes the second node; determining a second node bounding box of the second node based on the second node in the sub-bounding box corresponding to each quadrant.

15. The method of claim 1, wherein, The target node has added node source information, and the node source information of the target node includes model data information of node model data of the target node; If the node evaluation result indicates that the target node meets the rendering display condition and the target node is located in the field of view range corresponding to the target camera, the target node is rendered and displayed when the three-dimensional virtual object is rendered and displayed, including: If the node evaluation result indicates that the target node meets the rendering display condition and the target node is located in the field of view range corresponding to the target camera, the target node is added to a to-be-displayed node stack associated with the virtual scene; When the three-dimensional virtual object is rendered and displayed, the target node is popped from the to-be-displayed node stack, the node model data of the target node is determined based on the model data information in the node source information of the target node, and the target node is rendered and displayed based on the node model data of the target node.

16. The method of claim 15, wherein, The rendering and display of the target node based on the node model data of the target node includes: After instantiating the three-dimensional virtual object in the virtual scene, a target display node list associated with the virtual scene is obtained; the target display node list includes the target node; The node loading detection is performed on the target node to obtain a node display detection result of the target node; If the node display detection result is used to indicate that the target node fails to load, the target node in the target display node list is added to a temporary processing list, the node model data of the target node is reloaded, and the target node is rendered and displayed based on the reloaded node model data.

17. The method of claim 1, wherein, The object node evaluation list associated with the three-dimensional virtual object to be rendered in the virtual scene includes: When it is detected that the camera parameter of the target camera has parameter update, an object node evaluation list associated with the three-dimensional virtual object to be rendered in the virtual scene is obtained.

18. An object rendering device based on a tree structure, the device comprising: an evaluation list obtaining module configured to obtain an object node evaluation list associated with a three-dimensional virtual object to be rendered in a virtual scene; the object node evaluation list includes a target node to be evaluated; the target node is a node in a target tree structure corresponding to the three-dimensional virtual object; The complexity obtaining module is configured to obtain image complexity of a target texture map corresponding to the target node, wherein the image complexity of the target texture map is determined based on image information entropy of the target texture map. The size determining module is configured to determine target size information of the target node bounding box based on the target node bounding box to which the target node belongs. The evaluation result determining module is further configured to perform node evaluation on the target node based on the target size information, camera view distance between the target node and a target camera, and the image complexity, to obtain a node evaluation result of the target node. The rendering display module is configured to, if the node evaluation result indicates that the target node meets a rendering display condition and the target node is located within a field of view range corresponding to the target camera, render and display the target node and hide child nodes of the target node when rendering and displaying the three-dimensional virtual object.

19. The apparatus of claim 18, wherein, The complexity obtaining module is further configured to obtain a target texture map corresponding to the target node, perform grayscale processing on the target texture map to obtain a grayscale texture image of the target texture map, determine a target pixel with a target grayscale value from the grayscale texture image, and perform culling processing on the target pixel in the grayscale texture image. The complexity obtaining module is further configured to obtain a target texture map corresponding to the target node, perform grayscale processing on the target texture map to obtain a grayscale texture image of the target texture map, determine a target pixel with a target grayscale value from the grayscale texture image, and perform culling processing on the target pixel in the grayscale texture image.

20. The apparatus of claim 18, wherein, The virtual scene includes a plurality of three-dimensional virtual objects; each three-dimensional virtual object corresponds to a target tree structure; the evaluation list obtaining module is further configured to determine a field of view range indicated by a frustum corresponding to the target camera in the virtual scene, perform node detection on the plurality of three-dimensional virtual objects based on a positional relationship between the field of view range and object bounding boxes of the plurality of three-dimensional virtual objects, and obtain node detection results of the plurality of three-dimensional virtual objects; the node detection results are used to indicate that the three-dimensional virtual objects are located within the field of view range or are used to indicate that the three-dimensional virtual objects are not located within the field of view range; The complexity obtaining module is further configured to obtain a target texture map corresponding to the target node, perform grayscale processing on the target texture map to obtain a grayscale texture image of the target texture map, determine a target pixel with a target grayscale value from the grayscale texture image, and perform culling processing on the target pixel in the grayscale texture image. The target node includes node source information, the node source information of the target node includes model data information of a node model data of the target node, and the rendering display module is further configured to add the target node to a to-be-displayed node stack associated with the virtual scene if the node evaluation result indicates that the target node meets a rendering display condition and the target node is located within a field of view range corresponding to the target camera.

21. The apparatus of claim 18, wherein, ​ In rendering the three-dimensional virtual object, the target node is popped from the to-be-displayed node stack, node model data of the target node is determined based on model data information in node source information of the target node, and the target node is rendered and displayed based on the node model data of the target node. 22.A computer device, comprising a memory and a processor; The memory is connected with the processor, the memory is configured to store a computer program, and the processor is configured to invoke the computer program to enable the computer device to perform the tree structure based object rendering method in any one of claims 1-17. 23.A computer readable storage medium, having a computer program stored therein, the computer program being adapted to be loaded and executed by a processor to enable a computer device having the processor to perform the tree structure based object rendering method in any one of claims 1-17. 24.A computer program product, comprising computer programs / instructions, which, when executed by a processor, implement the tree structure based object rendering method in any one of claims 1-17.

Citation Information

Patent Citations

  • Scene rendering method and device, computer readable storage medium and computer equipment

    CN111105491A

  • Object rendering method

    CN112348955A

  • Virtual object rendering method and device, computer equipment and storage medium

    CN112370783A

  • Virtual space construction method and device, electronic equipment and nonvolatile storage medium

    CN117390322A

  • Rendering optimization method, electronic equipment and computer readable storage medium

    CN117557703A