Method and system for removing invisible objects based on GPU (Graphics Processing Unit)
By realizing cone removal and occlusion removal on the GPU, using the GPU to calculate the cone plane equation and generate hierarchical Z buffer data, the problem of large CPU computing in the existing technology is solved, the rendering efficiency is improved and the CPU is reduced The burden is to achieve efficient operation on low-end devices.
Patent Information
- Application Number
- CN202411207311.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-30
- Publication Date
- 2024-12-06
- Estimated Expiration
- 2044-08-30
AI Technical Summary
The existing cone removal and hierarchical Z buffer occlusion removal schemes have a large amount of computing on the CPU, resulting in excessive CPU load and making it difficult to run efficiently on low-end platforms.
By implementing cone culling and occlusion culling on the GPU, six plane equations of the view cone defined by the observation camera are calculated, and the GPU is used to generate hierarchical Z buffer data, and objects located outside the cone or are blocked are eliminated, from the rendering queue Removed in .
Improve rendering efficiency, reduce the computing burden of the CPU, and enable the cone removal and hierarchical Z buffer occlusion removal schemes to run quickly on low-end devices, improving performance.
Smart Images

Figure CN119091029A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of computer graphics, and in particular relates to a GPU-based invisible object culling method and system. Background Art
[0002] Invisible object culling is a basic problem in computer graphics research. Nowadays, users have higher and higher requirements for the graphics of 3D graphics systems, and the graphics rendering is becoming more and more sophisticated. It is necessary to ensure the real-time interactive experience under limited hardware configuration. Therefore, in computer graphics rendering, it is an effective optimization method to remove some objects that are eventually invisible on the screen due to being blocked by other objects in advance and then hand them over to hardware rendering.
[0003] The common means of culling invisible objects are backface culling, view frustum culling and occlusion culling. Almost all rendering engines have these culling methods built in. Backface culling refers to the culling of triangles with their backs facing the camera, because it does not contribute to the generation of the final picture. It has been implemented in the rendering engine and only requires the API to be enabled. View frustum culling will cull models outside the view frustum of the viewing camera. It usually detects the axis-aligned bounding box of the object with the view frustum, determines the dot multiplication of the six plane equation normal vectors of the view frustum with the vertex coordinates of the bounding box, and if the dot product information of the vertex coordinates of the bounding box and a plane equation is positive or negative, it means that the object is not inside the view frustum. When it comes to occlusion culling, the core idea is to exclude objects that become invisible due to occlusion by other objects from the subsequent processing flow. There are several main technical means to implement this solution, including the potential visible set method, the occlusion query method, and the hierarchical Z buffer method.
[0004] The traditional hierarchical Z-buffer solution divides the space through an octree and generates a hierarchical Z-buffer structure, also known as a Z-pyramid, by downsampling the Z-buffer values. Objects can be culled by performing hierarchical occlusion queries and culling from low to high resolutions, which is more efficient than directly comparing the highest resolution depth map.
[0005] However, a major problem with the above-mentioned frustum culling and hierarchical Z-buffer culling is that the amount of calculation on the CPU is large, which puts too much load on the CPU. Some existing solutions for optimizing calculations include using data structures to optimize calculation speed; and pre-calculating part of the data in advance to reduce real-time consumption, but the effect is still not ideal. Running on low-end platforms still takes up a lot of performance.
[0006] Therefore, in order to make the frustum culling and hierarchical Z-buffer occlusion culling solutions more widely used, there is a need for an efficient calculation to improve the culling efficiency, reduce the burden on the CPU, and enable low-end devices to run the above culling methods faster. Summary of the invention
[0007] In view of the shortcomings of the prior art, the present invention provides a GPU-based invisible object culling method and system, the system includes two modules: frustum culling and occlusion culling. The technical solution of the invention is achieved through the following contents:
[0008] The first aspect of the present invention is a method for removing invisible objects based on a GPU, the method comprising the following steps:
[0009] (1) Model construction: constructing an invisible object culling model, the model including two parts: frustum culling and occlusion culling;
[0010] (2) View frustum culling: Calculate the equations of the six planes of the view frustum defined by the observation camera and the position of each observed object in the world coordinate system; Analyze the spatial relationship between the coordinate position of each object and each view frustum plane, that is, determine whether the coordinate point is located in the positive or negative direction of each plane; If the object is located in the positive or negative direction with respect to all relevant planes, it is determined to be outside the view frustum and removed from the rendering queue;
[0011] (3) Occlusion culling: Generate hierarchical Z-buffer data in the GPU through the depth map of the current frame, and pass the object's bounding box information and coordinate information to the GPU for calculation with the hierarchical Z-buffer data, and remove completely occluded objects from the rendering queue.
[0012] Furthermore, the specific method for obtaining the six plane equations of the viewing cone in step (2) is as follows:
[0013] (2.1) Obtain the point coordinates of the near plane and far plane of the viewing cone;
[0014] (2.2) Obtain the shooting vector of the observation camera;
[0015] (2.3) The shooting vector obtained in step (2.2) and the coordinates of the near plane and the far plane obtained in step (1) are used to obtain the equations of the near plane and the far plane through the calculation formula of the normal vector and the point. The calculation formula is as follows:
[0016] n x x+n y y+n z z-(n x x 0 +n y y 0 +n z z 0 )=0;
[0017] Where x, y, z represent the variables of the plane; n x ,n y ,n zrepresents the shooting vector of the observation camera, x 0 ,y 0 ,z 0 Represents the position coordinates of a point on the near or far plane.
[0018] (2.4) Through the coordinates of the four points on the far plane of the viewing cone and the camera coordinates, the normal vector of the plane where the three points are located is obtained by the cross product formula. Then, through the normal vector and a coordinate, the equations of the planes above, below, left, and right are obtained by the formula in step (3.3). The calculation formula of the normal vector n is as follows:
[0019]
[0020] where a x ,a y ,a z , b x ,b y ,b z 、c x ,c y ,c z Represent the three coordinates of the plane, for a x ,a y ,a z , b x ,b y ,b z The vector formed by the two coordinates, for a x ,a y ,a z 、c x ,c y ,c z The vector formed by the two coordinates, n is the normal vector.
[0021] Furthermore, the step (2) analyzes the spatial relationship of the coordinate position of each object relative to each viewing cone plane, that is, to determine whether the coordinate point is located in the positive or negative direction of each plane, specifically:
[0022] (3.1) Obtain the bounding box information of the object through the object's own coordinate information and the object's size;
[0023] (3.2) Convert the eight vertex coordinates of the bounding box from local coordinates to world coordinates;
[0024] (3.3) The six plane equation normal vectors of the viewing cone are multiplied by the vertex coordinates of the bounding box. If the dot product information of the vertex coordinates of the bounding box and a plane equation is positive or negative, it means that the object is not inside the viewing cone.
[0025] Specifically, the depth map of the current frame in step (3) is obtained during the rasterization stage in the rendering pipeline, and is the depth of the grid of the opaque object at the corresponding pixel calculated by the GPU, and has a value range of 0 to 1 as a floating point number.
[0026] Specifically, the step (3) generates hierarchical Z buffer data as hierarchical depth map data obtained by downsampling the depth map of the current frame, taking the depth map of the current frame as the initial, using the current downsampled depth map, each time taking the maximum depth value of the 2*2 pixel depth as the sampling value, and so on, until downsampling cannot be continued.
[0027] Furthermore, the bounding box information and coordinate information of the object in step (3) are transmitted to the GPU and the hierarchical Z buffer data for calculation, specifically:
[0028] (3.1) Calculate the depth value of the object through the coordinate information of the object's bounding box;
[0029] (3.2) Obtain the pixel area covered by the object on the screen through the coordinate information of the object's bounding box;
[0030] (3.3) Compare the depth value of the object with the depth map of the corresponding level. If the depth value is greater than the depth value of the depth map position, it means that the object is blocked and the object is removed from the rendering queue.
[0031] Furthermore, in the step (3.1), the depth value of the object is calculated by using the coordinate information of the object's bounding box, specifically:
[0032] (3.1.1) Calculate the coordinate values of each vertex of the object's bounding box in the normalized device coordinate space;
[0033] (3.1.2) Regenerate the axis-parallel bounding box using the normalized device coordinates of the bounding box vertices;
[0034] (3.1.3) Find a plane that is closer to the observation coordinate system as its normal. The Z value of this plane is the depth value of the object.
[0035] Furthermore, in the step (3.2), the pixel area range covered by the object on the screen is obtained through the coordinate information of the object bounding box, specifically:
[0036] (3.2.1) By calculating the area of the plane that is closer to the observation coordinate system as the normal found in the above step (3.1.3), the size of the pixel area occupied by the plane in the normalized device coordinate space can be obtained;
[0037] (3.2.2) Multiply this size by the initial resolution of the image to obtain the screen pixel area covered by the original axis-parallel bounding box.
[0038] The second aspect of the present invention provides a GPU-based invisible object culling system, the system comprising the following modules:
[0039] Building a model module: building an invisible object culling model, the model includes two parts: frustum culling and occlusion culling;
[0040] View cone culling module: calculates the six plane equations of the view cone defined by the observation camera and the position of each observed object in the world coordinate system; by analyzing the spatial relationship between the coordinate position of each object and each view cone plane, it determines whether the coordinate point is located in the positive or negative direction of each plane; if the object is located in the positive or negative direction for all relevant planes, it is confirmed that it is outside the view cone and is removed from the rendering queue;
[0041] Occlusion culling module: Generates hierarchical Z-buffer data in the GPU through the depth map of the current frame, and passes the object's bounding box information and coordinate information to the GPU for calculation with the hierarchical Z-buffer data, and removes completely occluded objects from the rendering queue.
[0042] The beneficial effects of the present invention are as follows:
[0043] The system uses GPU to quickly remove invisible objects in the observation camera in real-time rendering scenes, which improves rendering efficiency, reduces the computing burden of CPU, and makes the frustum culling and hierarchical Z buffer occlusion culling solutions more widely used.
[0044] The system and rendering steps can be used in rendering applications with heavy CPU load, such as city tour applications and game clients. Because each frame needs to execute physics and animation calculations of complex models such as characters, as well as related special effects and business logic, there is a large overhead. Therefore, the efficient parallel computing performance of the GPU can be used to quickly eliminate objects that are invisible to the observation camera and improve performance. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] The attached figures are incorporated into the specification and serve as an integral part of the specification, illustrating the implementation methods of the various modules involved in the present invention in accordance with the principles of the present invention. The focus of the drawings is not to limit but to explain the principles of the invention. In the drawings,
[0046] Figure 1 is an execution flow chart of each module of the invisible object culling system of the present invention;
[0047] Figure 2 is a schematic diagram of an object to be rendered after frustum culling according to the present invention;
[0048] Figure 3It is a schematic diagram of generating hierarchical Z buffer data according to a depth map of the present invention;
[0049] Figure 4 is a schematic diagram of an object to be rendered after occlusion culling is used in the present invention;
[0050] Figure 5 It is a schematic diagram of the system flow of the present invention. DETAILED DESCRIPTION
[0051] The following detailed description refers to the drawings and will set forth specific details of an embodiment in order to provide a comprehensive understanding of the various aspects of the invention for which protection is sought. For developers who are familiar with the relevant technology, it is obvious that other embodiments different from the specific details described below can be used to implement certain modules and systems in the present invention. The following description is intended to be illustrative rather than limiting. All modifications, equivalent substitutions, etc. made within the spirit and principles of the invention should be included in the scope of protection of the invention.
[0052] According to the solution of the present invention, the modules and processes of the invisible object removal system are designed as follows: Figure 1 As shown. We apply this solution to an online game. The specific solution is as follows:
[0053] A GPU-based invisible object culling method, the method comprising the following steps:
[0054] (1) Model construction: constructing an invisible object culling model, the model including two parts: frustum culling and occlusion culling;
[0055] (2) View frustum culling: Calculate the six plane equations of the view frustum defined by the observation camera and the position of each observed object in the world coordinate system; analyze the spatial relationship between the coordinate position of each object and each view frustum plane, that is, determine whether the coordinate point is located in the positive or negative direction of each plane; if the object is located in the positive or negative direction with respect to all relevant planes, it is determined that it is outside the view frustum and is removed from the rendering queue; the specific method for obtaining the six plane equations of the view frustum is as follows:
[0056] (2.1) Obtain the point coordinates of the near plane and far plane of the viewing cone;
[0057] (2.2) Obtain the shooting vector of the observation camera;
[0058] (2.3) The shooting vector obtained in step (2.2) and the coordinates of the near plane and the far plane obtained in step (1) are used to obtain the equations of the near plane and the far plane through the calculation formula of the normal vector and the point. The calculation formula is as follows:
[0059] n x x+n y y+n zz-(n x x 0 +n y y 0 +n z z 0 )=0;
[0060] Where x, y, z represent the variables of the plane; n x ,n y ,n z represents the shooting vector of the observation camera, x 0 ,y 0 ,z 0 Represents the position coordinates of a point on the near or far plane.
[0061] (2.4) Through the coordinates of the four points on the far plane of the viewing cone and the camera coordinates, the normal vector of the plane where the three points are located is obtained by the cross product formula. Then, through the normal vector and a coordinate, the equations of the planes above, below, left, and right are obtained by the formula in step (3.3). The calculation formula of the normal vector n is as follows:
[0062]
[0063] where a x ,a y ,a z , b x ,b y ,b z 、c x ,c y ,c z Represent the three coordinates of the plane, for a x ,a y ,a z , b x ,b y ,b z The vector formed by the two coordinates, for a x ,a y ,a z 、c x ,c y ,c z The vector formed by the two coordinates, n is the normal vector.
[0064] The analysis of the spatial relationship between the coordinate position of each object and each viewing cone plane is to determine whether the coordinate point is located in the positive or negative direction of each plane, specifically:
[0065] (3.1) Obtain the bounding box information of the object through the object's own coordinate information and the object's size;
[0066] (3.2) Convert the eight vertex coordinates of the bounding box from local coordinates to world coordinates;
[0067] (3.3) The six plane equation normal vectors of the viewing cone are multiplied by the vertex coordinates of the bounding box. If the dot product information of the vertex coordinates of the bounding box and a plane equation is positive or negative, it means that the object is not inside the viewing cone.
[0068] (3) Occlusion culling: Generate hierarchical Z buffer data in the GPU through the depth map of the current frame, and pass the bounding box information and coordinate information of the object to the GPU and the hierarchical Z buffer data for calculation, and remove the completely occluded objects from the rendering queue. The bounding box information and coordinate information of the object are passed to the GPU and the hierarchical Z buffer data for calculation, specifically:
[0069] (3.1) Calculate the depth value of the object through the coordinate information of the object's bounding box; specifically:
[0070] (3.1.1) Calculate the coordinate values of each vertex of the object's bounding box in the normalized device coordinate space;
[0071] (3.1.2) Regenerate the axis-parallel bounding box using the normalized device coordinates of the bounding box vertices;
[0072] (3.1.3) Find a plane that is closer to the observation coordinate system as its normal. The Z value of this plane is the depth value of the object.
[0073] (3.2) Obtain the pixel area covered by the object on the screen through the coordinate information of the object's bounding box; specifically:
[0074] (3.2.1) By calculating the area of the plane that is closer to the observation coordinate system as the normal found in the above step (3.1.3), the size of the pixel area occupied by the plane in the normalized device coordinate space can be obtained;
[0075] (3.2.2) Multiply this size by the initial resolution of the image to obtain the screen pixel area covered by the original axis-parallel bounding box.
[0076] (3.3) Compare the depth value of the object with the depth map of the corresponding level. If the depth value is greater than the depth value of the depth map position, it means that the object is blocked and the object is removed from the rendering queue.
[0077] like Figure 1As shown, for a 3D scene, first, the equations of the near plane and the far plane are obtained by the observation angle of the observation camera and the camera coordinate point through the calculation formula of the normal vector and the point, and then the normal vector of the plane where the three points are located is obtained through the four point coordinates of the far plane of the view cone and the camera coordinates through the cross product formula, and then the plane equations of the top, bottom, left and right are obtained through the normal vector and a coordinate, so as to determine the six plane equations of the view cone. Then, the position of the observed object of the scene in the world coordinate system is analyzed relative to the spatial relationship of each view cone plane, that is, it is determined whether the coordinate point is located in the positive direction (front) or the reverse direction (back) of each plane. The six plane coordinate equations and the coordinate information of the object are transmitted to the GPU for parallel calculation, and the bounding box information of the object is obtained through the object's own coordinate information and the size of the object; the eight vertex coordinates of the bounding box are converted from the own coordinates to the world coordinates; the six plane equations of the view cone are used to perform dot multiplication with the vertex coordinates of the bounding box. If the dot product information of the vertex coordinates of the bounding box and a plane equation is positive or negative, it means that the object is not inside the view cone. Remove from the rendering queue and retain the object information that needs to be rendered, such as Figure 2 As shown, the dotted objects are objects that are removed because they are outside the viewing frustum.
[0078] Continue to perform occlusion culling in the GPU based on the above retained objects. In the rasterization stage of the rendering pipeline, the depth map of the current frame is obtained through the Command Buffer custom rendering step, that is, the depth of the grid of the opaque object calculated by the GPU at the corresponding pixel, with a value ranging from 0 to 1. Use the depth map as the highest resolution hierarchical Z buffer level, and use the hierarchical depth map data obtained by downsampling the depth map of the current frame. Use the depth map of the current frame as the initial depth map, use the current downsampled depth map, and take the maximum depth value of the 2*2 pixel depth as the sampling value each time, and so on, until it is impossible to continue downsampling, such as Figure 3 As shown. After obtaining the hierarchical Z buffer data, calculate the depth information of each retained object after frustum culling. Calculate the coordinate values of each vertex of the object bounding box in the normalized device coordinate space, regenerate the axis-parallel bounding box through the normalized device coordinates of the bounding box vertices, and find a plane that is closer to the observation coordinate system as the normal. The Z value of this plane is the depth value of the object. The pixel area occupied by the plane in the normalized device coordinate space can be obtained through the coordinate information of the object bounding box, that is, the two points in the lower left and upper right corners of the plane that is closer to the observation coordinate system as the normal. Multiply the area size by the initial resolution of the image to obtain the screen pixel area covered by the original axis-parallel bounding box as the pixel area range covered by the object on the screen. Use the above information to compare with the depth map of the corresponding level. If the depth value is greater than the depth of the depth map position, it means that the object is blocked and the object is removed from the rendering queue. The final result that may be retained is as follows Figure 4 As shown, the dotted objects are objects that are culled due to being blocked by other objects.
[0079] In addition, if Figure 5 As shown, the present invention also provides a GPU-based invisible object culling system, which includes the following modules:
[0080] Building a model module: building an invisible object culling model, the model includes two parts: frustum culling and occlusion culling;
[0081] View cone culling module: Calculates the equations of the six planes of the view cone defined by the observation camera and the position of each observed object in the world coordinate system. By analyzing the spatial relationship between the coordinate position of each object and each view cone plane, it is determined whether the coordinate point is located in the positive direction (front) or the reverse direction (back) of each plane. If the object is located in the positive direction or the reverse direction for all relevant planes, it is confirmed that it is outside the view cone and is removed from the rendering queue.
[0082] Occlusion culling module: Generates hierarchical Z-buffer data in the GPU through the depth map of the current frame, and passes information such as the position of the object to the GPU for calculation with the hierarchical Z-buffer data, and removes completely occluded objects from the rendering queue.
[0083] Although the above describes the specific implementation mode of the present invention in conjunction with the accompanying drawings, it is not intended to limit the scope of protection of the present invention. Those skilled in the art should understand that various modifications or variations that can be made by those skilled in the art without creative work on the basis of the technical solution disclosed in the present invention should be included in the scope of protection of the present invention.
Claims
1. A GPU-based invisible object culling method, characterized in that: The method comprises the following steps: (1) Model construction: constructing an invisible object culling model, the model including two parts: frustum culling and occlusion culling; (2) View frustum culling: Calculate the equations of the six planes of the view frustum defined by the observation camera and the position of each observed object in the world coordinate system; Analyze the spatial relationship between the coordinate position of each object and each view frustum plane, that is, determine whether the coordinate point is located in the positive or negative direction of each plane; If the object is located in the positive or negative direction with respect to all relevant planes, it is determined to be outside the view frustum and removed from the rendering queue; (3) Occlusion culling: Generate hierarchical Z-buffer data in the GPU through the depth map of the current frame, and pass the object's bounding box information and coordinate information to the GPU for calculation with the hierarchical Z-buffer data, and remove completely occluded objects from the rendering queue.
2. The GPU-based invisible object culling method according to claim 1, characterized in that: The specific method for obtaining the six plane equations of the viewing cone in step (2) is as follows: (2.1) Obtain the point coordinates of the near plane and far plane of the viewing cone; (2.2) Obtain the shooting vector of the observation camera; (2.3) The shooting vector obtained in step (2.2) and the coordinates of the near plane and the far plane obtained in step (1) are used to obtain the equations of the near plane and the far plane through the calculation formula of the normal vector and the point. The calculation formula is as follows: n x x+n y y+n z z-(n x x0+n y y0+n z z0)=0; Where x, y, z represent the variables of the plane; n x ,n y ,n z Represents the shooting vector of the observation camera, x0, y0, z0 represent the position coordinates of the point on the near plane or far plane; (2.4) Through the coordinates of the four points on the far plane of the viewing cone and the camera coordinates, the normal vector of the plane where the three points are located is obtained by the cross product formula. Then, through the normal vector and a coordinate, the equations of the planes above, below, left, and right are obtained by the formula in step (3.3). The calculation formula of the normal vector n is as follows: where a x ,a y ,a z , b x ,b y ,b z 、c x ,c y ,c z Represent the three coordinates of the plane, for a x ,a y ,a z , b x ,b y ,b z The vector formed by the two coordinates, for a x ,a y ,a z 、c x ,c y ,c z The vector formed by the two coordinates, n is the normal vector.
3. The GPU-based invisible object culling method according to claim 1, characterized in that: The step (2) analyzes the spatial relationship between the coordinate position of each object and each viewing cone plane, that is, to determine whether the coordinate point is located in the positive or negative direction of each plane, specifically: (3.1) Obtain the bounding box information of the object through the object's own coordinate information and the object's size; (3.2) Convert the eight vertex coordinates of the bounding box from local coordinates to world coordinates; (3.3) The six plane equation normal vectors of the viewing cone are multiplied by the vertex coordinates of the bounding box. If the dot product information of the vertex coordinates of the bounding box and a plane equation is positive or negative, it means that the object is not inside the viewing cone.
4. The GPU-based invisible object culling method according to claim 1, characterized in that: The depth map of the current frame in step (3) is obtained during the rasterization stage in the rendering pipeline, and is the depth of the grid of the opaque object at the corresponding pixel calculated by the GPU, and has a value ranging from 0 to 1 as a floating point number.
5. The GPU-based invisible object culling method according to claim 1, characterized in that: The step (3) generates hierarchical Z buffer data, which is hierarchical depth map data obtained by downsampling the depth map of the current frame. The depth map of the current frame is used as the initial depth map, and the current downsampled depth map is used to take the maximum depth value of the 2*2 pixel depth as the sampling value each time, and so on, until downsampling cannot be continued.
6. The GPU-based invisible object culling method according to claim 1, characterized in that: In step (3), the bounding box information and coordinate information of the object are transmitted to the GPU and the hierarchical Z buffer data for calculation, specifically: (3.1) Calculate the depth value of the object through the coordinate information of the object's bounding box; (3.2) Obtain the pixel area covered by the object on the screen through the coordinate information of the object's bounding box; (3.3) Compare the depth value of the object with the depth map of the corresponding level. If the depth value is greater than the depth value of the depth map position, it means that the object is blocked and the object is removed from the rendering queue.
7. The GPU-based invisible object culling method according to claim 6, characterized in that: In the step (3.1), the depth value of the object is calculated by the coordinate information of the object bounding box, specifically: (3.1.1) Calculate the coordinate values of each vertex of the object's bounding box in the normalized device coordinate space; (3.1.2) Regenerate the axis-parallel bounding box using the normalized device coordinates of the bounding box vertices; (3.1.3) Find a plane that is closer to the observation coordinate system as its normal. The Z value of this plane is the depth value of the object.
8. The method for removing invisible objects based on GPU according to claim 6, characterized in that: In the step (3.2), the pixel area range covered by the object on the screen is obtained through the coordinate information of the object bounding box, specifically: (3.2.1) By calculating the area of the plane that is closer to the observation coordinate system as the normal found in the above step (3.1.3), the size of the pixel area occupied by the plane in the normalized device coordinate space can be obtained; (3.2.2) Multiply this size by the initial resolution of the image to obtain the screen pixel area covered by the original axis-parallel bounding box.
9. A GPU-based invisible object culling system, characterized in that: The system includes the following modules: Building a model module: building an invisible object culling model, the model includes two parts: frustum culling and occlusion culling; View cone culling module: calculates the six plane equations of the view cone defined by the observation camera and the position of each observed object in the world coordinate system; by analyzing the spatial relationship between the coordinate position of each object and each view cone plane, it determines whether the coordinate point is located in the positive or negative direction of each plane; if the object is located in the positive or negative direction for all relevant planes, it is confirmed that it is outside the view cone and is removed from the rendering queue; Occlusion culling module: Generates hierarchical Z-buffer data in the GPU through the depth map of the current frame, and passes the object's bounding box information and coordinate information to the GPU for calculation with the hierarchical Z-buffer data, and removes completely occluded objects from the rendering queue.
Citation Information
Patent Citations
Rendering method and rendering device for large-scale three-dimensional animations
CN102831631A
Shielding removing method and device and computer equipment
CN110136082A
Method and device for removing scene object models in game
CN111784612A
Data driving method and device for mapping delay rendering
CN112614042A
Three-dimensional rendering method and device, equipment and medium
CN117237502A
Cited By
Dynamic shielding elimination method and system based on structured sight distance field
CN120953468A
Real-time rendering method and system for complex assembly scene at browser side and medium
CN122454005A
