CN117392295B - Coarse-granularity depth eliminating method and device in graphic drawing assembly line - Google Patents

Coarse-granularity depth eliminating method and device in graphic drawing assembly line Download PDF

Info

Publication number
CN117392295B
CN117392295B CN202210784793.5A CN202210784793A CN117392295B CN 117392295 B CN117392295 B CN 117392295B CN 202210784793 A CN202210784793 A CN 202210784793A CN 117392295 B CN117392295 B CN 117392295B
Authority
CN
China
Prior art keywords
depth
rejection
granularity
test block
range
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210784793.5A
Other languages
Chinese (zh)
Other versions
CN117392295A (en
Inventor
汪莹
武凤霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Granfei Intelligent Technology Co ltd
Original Assignee
Granfei Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Granfei Intelligent Technology Co ltd filed Critical Granfei Intelligent Technology Co ltd
Priority to CN202210784793.5A priority Critical patent/CN117392295B/en
Publication of CN117392295A publication Critical patent/CN117392295A/en
Application granted granted Critical
Publication of CN117392295B publication Critical patent/CN117392295B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

The application relates to the technical field of graphic drawing, and provides a coarse-granularity depth eliminating method and device in a graphic drawing assembly line. According to the method, the depth gradient information corresponding to the graphic element is used for adaptively adjusting the rejection granularity and flexibly selecting the depth range calculation mode of the test block, so that the optimal balance between the calculated amount and the calculated accuracy can be found, the first part in the current rejection method can be replaced, the coarse-granularity depth rejection part can be used for playing an optimal effect, and the overall working efficiency of the graphic drawing assembly line is improved.

Description

Coarse-granularity depth eliminating method and device in graphic drawing assembly line
Technical Field
The application relates to the technical field of graphic drawing, in particular to a coarse-granularity depth eliminating method and device in a graphic drawing assembly line.
Background
To meet the increasingly higher quality requirements for visual interfaces and to further enhance the visual experience, 3D rendered scenes are increasingly complex. How to meet the related requirements while ensuring the processing efficiency is indispensable for deep rejection.
Wherein, mutual shielding among objects is unavoidable in a complex rendering scene, and for objects far from the viewpoint, the objects are generally invisible or only partially visible due to shielding by nearby objects. For the occluded parts, depth rejection can be used to reject them from the graphics rendering pipeline in advance, thereby ensuring the effectiveness of the pixels (or sampling points in the pixels) participating in rendering on the graphics pipeline to the greatest extent.
For this reason, in the graphics rendering pipeline, the conventional depth rejection method is to perform an experiment on each pixel or the depth value carried by each sampling point in the pixel, and reject pixel points that do not meet the condition (such as being far away from the viewpoint) one by one. In addition, the conventional depth culling described above is performed after the pixel shader, considering that the pixel shader may update the depth value for each pixel point.
In order to improve the rendering efficiency of the pixel shader, a concept of "outputting a conservative depth value" in the pixel shader is proposed in the prior art, so as to finish depth rejection as early as possible before the pixel shader on a graphics drawing pipeline, thereby only a part with visible view point can enter the pixel shader, and further improving the working effectiveness of the pixel shader. Meanwhile, in order to improve the depth rejection efficiency, a coarse-granularity rejection algorithm based on fixed rejection granularity is also provided in the prior art.
Thus, depth culling in the current art may include three parts:
a first part: coarse-granularity culling after rasterization and before the pixel shader. The part of the rejection granularity is fixed (such as 8 x 8 pixels) and the function is to reduce the calculated amount by coarse granularity rejection before introducing the high-precision depth rejection of pixel-by-pixel/sampling points;
A second part: after the first part is removed and before the pixel shader, the invalid part is removed as much as possible before the pixels are input into the pixel shader, so that the burden of the pixel shader is reduced;
Third section: after the pixel shader, a scene for processing the pixel shader needs to output non-conservative depth values. In this scene, the depth values of the individual pixels interpolated from the primitive vertex depth values cannot be used continuously.
However, for the first part of the prior art, the fixed rejection granularity can lead to insufficient rejection of primitives with larger depth gradient values on one hand, and can not optimize the calculation to the greatest extent for primitives with smaller depth gradient values on the other hand.
Disclosure of Invention
Based on the foregoing, it is necessary to provide a coarse-granularity depth rejection method and device in a graphics rendering pipeline.
In a first aspect, the present application provides a coarse-grained depth culling method in a graphics rendering pipeline.
The method comprises the following steps:
Selecting corresponding rejection granularity to divide the primitive into a plurality of test blocks according to depth gradient information corresponding to the primitive;
selecting a corresponding depth range calculation mode to calculate and obtain a depth range corresponding to each test block according to the depth gradient information corresponding to the test block;
For each test block, acquiring a background depth range corresponding to the test block, and judging whether to reject the test block according to a comparison result of the depth range corresponding to the test block and the background depth range corresponding to the test block;
And sending the test blocks which are not removed into a subsequent graph drawing pipeline.
In a second aspect, the application also provides a coarse-granularity depth eliminating device in the graphics drawing pipeline. The device comprises:
The test block segmentation module is used for selecting corresponding rejection granularity to segment the graphic element into a plurality of test blocks according to the depth gradient information corresponding to the graphic element;
The depth range calculation module is used for selecting a corresponding depth range calculation mode according to the depth gradient information corresponding to each test block to calculate and obtain a depth range corresponding to the test block;
The rejection judgment module is used for acquiring a background depth range corresponding to each test block, and judging whether to reject the test block according to a comparison result of the depth range corresponding to the test block and the background depth range corresponding to the test block;
And the post-processing module is used for sending the test blocks which are not removed into a subsequent graph drawing pipeline.
According to the coarse-granularity depth rejection method and the device thereof in the graphics drawing assembly line, the proper rejection granularity is adaptively selected according to the depth gradient information corresponding to the graphic primitive, the graphic primitive is segmented into a plurality of test blocks according to the rejection granularity, and then the depth rejection is sequentially carried out on each test block, so that the depth rejection efficiency can be effectively improved, the graphic primitive with larger depth change can not be fully rejected due to overlarge rejection granularity fixed selection, the rejection efficiency can not be reduced due to the fact that the calculation amount is increased due to the fact that the rejection granularity fixed selection is too small, and in addition, when the depth range of each test block is calculated, the proper calculation mode is adaptively selected according to the depth gradient information, so that the precision of the calculated depth range is ensured, and the rejection efficiency can be further improved. According to the scheme, the depth gradient information corresponding to the graphic element is used for adaptively adjusting the rejection granularity and flexibly selecting the depth range calculation mode of the test block, so that the optimal balance between the calculated amount and the calculated accuracy can be found, the first part in the current rejection method can be replaced, the coarse-granularity depth rejection part can be used for playing an optimal effect, and the overall working efficiency of the graphic drawing assembly line is improved.
Drawings
FIG. 1 is a schematic diagram of an example of depth culling;
FIG. 2 is a schematic diagram of a prior art graphics rendering pipeline including three-part depth culling;
FIG. 3 is a schematic diagram of a graphics rendering pipeline incorporating the depth culling scheme of the present application;
FIG. 4 is a schematic diagram of a pixel block;
FIG. 5 is an application environment diagram of a coarse-granularity depth culling method in a graphics rendering pipeline in one embodiment;
FIG. 6 is a flow diagram of a coarse-granularity depth culling method in a graphics rendering pipeline in one embodiment;
FIG. 7 is a schematic diagram of a test block segmentation primitive in one example;
FIG. 8 is a schematic illustration of a test block depth range calculation in one example;
FIG. 9 is a schematic diagram of a background depth range usage and update flow in one embodiment;
FIG. 10 is a schematic diagram of depth cropping in one example;
FIG. 11 is a flow diagram of a coarse-granularity depth culling method in a graphics rendering pipeline in one embodiment;
FIG. 12 is a block diagram of a coarse grain depth culling device in a graphics rendering pipeline in one embodiment.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application.
The application relates to a part of keywords and English contrast: graphics rendering pipeline (GRAPHICS PIPELINE), depth reject (depth reject), adaptive (adaptive), pixel (pixel), sample (sample), pixel shader (pixel shader), pixel block (pixel tile), sample block (SAMPLE TILE), depth range (DEPTH RANGE), primitive (background).
The description of the mutual occlusion between unavoidable objects in complex rendered scenes as mentioned in the background is given first. Wherein objects farther from the viewpoint will generally become invisible or only partially visible due to occlusion by nearby objects. In combination with fig. 1, two triangles are staggered with each other, a dark triangle is partially blocked by a light triangle, a light triangle is partially blocked by a dark triangle, and the blocked parts are all removed by depth removal, so that the displayed result is ensured to meet the effect actually seen by human eyes.
Next, a schematic diagram of a prior art graphics rendering pipeline comprising three-part depth culling is shown in fig. 2, where the first part is a coarse-granularity culling part (or called coarse-granularity culling module) after rasterization and before the pixel shader, and the culling granularity of this part (module) is currently fixed, such as 8×8 pixels, which is used to reduce the amount of computation by coarse-granularity culling before introducing high-precision depth culling of pixel-by-pixel/sampling points.
The application considers that the first part included in the prior art has fixed rejection granularity, and has certain defects: for the primitives with larger depth gradient values, the fixed rejection granularity can lead to insufficient rejection, and for the primitives with smaller depth rejection values, the fixed rejection granularity can not optimize the calculated amount to the greatest extent, so that the coarse granularity depth rejection method in the graphics drawing assembly line is provided to improve the depth rejection efficiency in various scenes.
Referring to fig. 3, which is a schematic diagram of a graphics rendering pipeline including the depth culling scheme of the present application, the present application replaces the "first part coarse-granularity depth culling" part (module) of the graph with an adaptive coarse-granularity depth culling part (module) in order to select a culling granularity and depth range calculation method that is most suitable for each different primitive, so as to find an optimal balance between culling efficiency and calculation amount. Therefore, before the subsequent high-precision (pixel or sampling point granularity) depth rejection operation is started, the rejection granularity is flexibly adjusted, and the rejection operation of a piece of adjacent pixel points (sampling points) can be completed by only one calculation. In the graphics rendering pipeline comprising the depth culling scheme of the present application, only pixel blocks (pixel tiles) or sampling point blocks (SAMPLE TILE) that are not culled by the "adaptive coarse-granularity depth culling" portion (module) can enter the subsequent pipeline for further processing.
For the pixel point block (sampling point block), referring to fig. 4, the pixel point block (sampling point block) refers to a set of pixels (sampling points) that are adjacent in space and have a certain size, and the size may be 8×8 pixels (sampling points), 8×16 pixels (sampling points), 16×8 pixels (sampling points), 16×16 pixels (sampling points), and so on. The self-adaptive coarse granularity depth rejection part (module) of the application can select rejection granularity for a certain graphic element, which is larger than, equal to or smaller than a pixel point block (sampling point block).
In the 'self-adaptive coarse granularity deep rejection' part (module) of the application, the rejection granularity can be flexibly adjusted, and for any graphic element, the rejection operation of all test blocks (a plurality of pixel blocks/sampling point blocks with the size of the selected rejection granularity) covered by the graphic element can be completed with the granularity after selecting a proper rejection granularity. For the test block which cannot be removed in the 'self-adaptive coarse-granularity deep removing' part (module), the test block is transmitted to a subsequent assembly line, and the fine removing of pixel/sampling point level is performed in the 'second/third part deep removing' part (module).
Fig. 5 shows an application environment of the coarse-granularity depth culling method in the graphics rendering pipeline, which may be referred to as an adaptive coarse-granularity depth culling module, and the application environment specifically shows an internal structure of the module, including the following parts:
P1. a register pool, which can be used to record all register information required by the module, may specifically include depth gradient threshold information (which can be used to select a culling granularity, a depth range calculation method), selectable culling granularity, depth clipping information, depth test information, and so on.
And P2, internal caching, which can be used for caching background depth range data, can be updated by the module in real time, and ensures the validity of the data.
And P3, selecting the rejection granularity suitable for each graphic element according to the specific information carried by the graphic element, and dividing the graphic element into a plurality of test blocks according to the rejection granularity.
And P4, a self-adaptive depth range calculator, wherein for each test block, a proper method can be selected to calculate the depth range of the test block according to the input depth seed value, depth gradient value and other information.
P5. coarse-grain depth cutter, which can perform depth cutting (DEPTH CLIP) on each test block and reject the test block outside the view cone in advance.
And P6, for each test block, the coarse-grain depth tester can be used for carrying out depth range test by combining the depth information in the internal cache, eliminating the test blocks which do not meet the test, and sending the test blocks to a subsequent pipeline.
Based on this, in one embodiment, as shown in fig. 6, the present application provides a coarse-granularity depth culling method in a graphics rendering pipeline, including the steps of:
And step S601, selecting corresponding rejection granularity to divide the graphic element into a plurality of test blocks according to depth gradient information corresponding to the graphic element.
In this step, as shown in fig. 7, for any primitive, the P3 culling granularity selector may select a corresponding culling granularity from the selectable culling granularities according to depth gradient information corresponding to the primitive that has been calculated, and cut the primitive according to the selected culling granularity, thereby dividing the primitive into a plurality of test blocks.
For the culling granularity, the selection/determination may be performed according to the depth gradient values of the primitives in the lateral direction and the longitudinal direction, and in one embodiment, the depth gradient information corresponding to the primitives may include the lateral depth gradient value and the longitudinal depth gradient value of the primitives, and step S601 specifically includes:
Acquiring a preset depth gradient threshold range; according to the comparison result of the horizontal depth gradient value and the longitudinal depth gradient value with the depth gradient threshold range, respectively selecting the horizontal rejection granularity and the longitudinal rejection granularity corresponding to the graphic element; obtaining corresponding rejection granularity according to the transverse rejection granularity and the longitudinal rejection granularity; dividing the graphic element into a plurality of test blocks according to the corresponding rejection granularity.
Specifically, the P3 culling granularity selector may determine/set a depth gradient threshold range [ slope_threshold_min, slope_threshold_max ] for comparison according to a previous experimental result, then in the transverse direction and the longitudinal direction, according to a comparison result of the transverse depth gradient value and the longitudinal depth gradient value with the depth gradient threshold range [ slope_threshold_min, slope_threshold_max ], respectively select a corresponding transverse culling granularity x_reject_size and a corresponding longitudinal culling granularity y_reject_size from the selectable culling granularities, so that the P3 culling granularity selector obtains a final corresponding culling granularity x_reject_size and a final corresponding culling granularity y_reject_size according to the selected transverse culling granularity x_reject_size and the longitudinal culling granularity y_reject_size, and cuts a primitive according to the culling granularity x_reject_size_reject_size.
Further, for the selection of the above-mentioned horizontal and vertical culling granularity, in one embodiment, the method specifically includes:
For the transverse direction, if the transverse depth gradient value is smaller than the minimum threshold value of the depth gradient threshold value range, selecting a large rejection granularity from the selectable rejection granularities as the transverse rejection granularity; if the transverse depth gradient value is within the depth gradient threshold value range, selecting the rejection granularity from the selectable rejection granularities as the transverse rejection granularity; and if the transverse depth gradient value is larger than the maximum threshold value of the depth gradient threshold value range, selecting small rejection granularity from the selectable rejection granularity as transverse rejection granularity.
Specifically, for the transverse direction, if the transverse depth gradient value is smaller than the minimum threshold value slope_threshold_min of the depth gradient threshold range, selecting a larger rejection granularity such as 16, 32 and the like from the selectable rejection granularities as a transverse rejection granularity x_reject_size; if the transverse depth gradient value is within a depth gradient threshold range [ slope_threshold_min, slope_threshold_max ], selecting a compromise rejection granularity such as 8 from the selectable rejection granularities as a transverse rejection granularity x_reject_size; if the lateral depth gradient value is greater than the maximum threshold slope threshold max of the depth gradient threshold range, selecting a smaller rejection granularity such as 2, 4 and the like from the selectable rejection granularity as the lateral rejection granularity x_reject_size.
In addition, for the longitudinal direction, if the longitudinal depth gradient value is smaller than the minimum threshold value of the depth gradient threshold value range, selecting a large rejection granularity from the selectable rejection granularities as the longitudinal rejection granularity; if the longitudinal depth gradient value is within the depth gradient threshold value range, selecting the rejection granularity from the selectable rejection granularities as the longitudinal rejection granularity; and if the longitudinal depth gradient value is larger than the maximum threshold value of the depth gradient threshold value range, selecting small rejection granularity from the selectable rejection granularity as longitudinal rejection granularity.
As with the lateral selection, for the longitudinal direction, if the longitudinal depth gradient value is less than the minimum threshold slope_threshold_min of the depth gradient threshold range, then a larger culling granularity such as 16, 32, etc. can be selected as the longitudinal culling granularity y_reject_size; if the longitudinal depth gradient value is within the depth gradient threshold range [ slope_threshold_min, slope_threshold_max ], selecting the culling granularity in compromise such as 8 as the transverse culling granularity x_reject_size; if the longitudinal depth gradient value is greater than the maximum threshold slope threshold max of the depth gradient threshold range, then a smaller culling granularity, such as 2, 4, etc., may be selected as the longitudinal culling granularity y_reject_size.
The P3 rejection granularity selector finally obtains rejection granularity x_reject_size x_y_reject_size, cuts the primitive according to the selected x_reject_size, outputs each cut test block to a subsequent processing unit for depth rejection one by one, and only the test blocks which are not rejected are sent to a subsequent drawing pipeline for further high-precision depth rejection and rendering.
Step S602, for each test block, selecting a corresponding depth range calculation mode to calculate a depth range corresponding to the test block according to the depth gradient information corresponding to the test block.
In this step, the P4 adaptive depth range calculator performs a depth range (private_range) calculation for each test block. The P4 adaptive depth range calculator can calculate the depth range of the test block by adopting various depth range calculation modes, can select different depth range calculation modes for different test blocks to calculate the depth range of the test block, and can specifically select a corresponding depth range calculation mode according to the depth gradient information corresponding to the test block, and calculate the depth range corresponding to the test block according to the selected depth range calculation mode.
For selection of the depth range calculation mode for each test block, in one embodiment, step S602 specifically includes:
judging whether the depth gradient value corresponding to the test block is larger than a preset threshold value or not; if yes, selecting a bounding box mode from optional depth range calculation modes to calculate and obtain a depth range corresponding to the test block; if not, selecting a test block mode from the optional depth range calculation modes to calculate and obtain a depth range corresponding to the test block.
Referring to fig. 8, in this embodiment, in calculating the depth range of each test block, the optional depth range calculation modes may include two modes, one of the test block mode and one of the bounding box mode. The test block mode is to select two vertexes from four vertexes of the test block to calculate a minimum value pritive_range and a maximum value pritive_range of the depth range pritive_range. The bounding box mode is to further narrow the range, select two vertices from four vertices of the bounding box where the primitive is located in the test block, and calculate the minimum value pritive_range.min and the maximum value pritive_range.max of the depth range pritive_range. In contrast, in the calculation process of the bounding box mode, the bounding box is further determined, but the calculated depth range private_range is more accurate, so when the depth gradient value corresponding to the determination test block in this embodiment is greater than the preset threshold value (exceeds the threshold value selected in advance according to the experiment), that is, when the depth gradient value is greater, the bounding box mode is automatically selected to calculate the depth range private_range, otherwise, the test block mode is selected to calculate the depth range private_range.
The method for calculating the depth range corresponding to the test block by selecting the test block mode from the optional depth range calculation modes specifically includes:
According to the depth gradient growth directions of the test block in the transverse direction and the longitudinal direction, two vertexes are selected from four vertexes of the test block, and the depth range corresponding to the test block is calculated based on the two vertexes.
The left half of fig. 8 corresponds to the depth range calculated by taking MSAA2x as an example in a test block manner, i.e. two vertices are directly selected from four vertices of the test block to calculate the depth range. Wherein, P1 to P4 are four vertexes of the test block, according to the depth gradient increasing direction (x/y depth gradient increasing direction) of the test block in the transverse direction and the longitudinal direction, according to the criterion of selecting vertexes when calculating the depth range as shown in the following table 1, P1 is selected to interpolate and calculate the minimum value pritive_range of the depth range pritive_range, and P4 is selected to calculate the maximum value pritive_range, max of the depth range pritive_range.
TABLE 1
For the bounding box method, further, the method for selecting the bounding box from the optional depth range calculation methods to calculate the depth range corresponding to the test block specifically includes:
According to the depth gradient growing directions of the test block in the transverse direction and the longitudinal direction, two vertexes of four vertexes of a bounding box where the graphic primitive is located in the test block are selected, and the depth range corresponding to the test block is calculated based on the two vertexes.
The right half of fig. 8 corresponds to the depth range calculated by using MSAA2x as an example in a bounding box mode, that is, two vertices are selected from four vertices of the bounding box to calculate the depth range. Wherein, P5-P8 are four vertexes of bounding box of primitive in the test block, the bounding box range has been adjusted according to the sampling coordinate precision. Likewise, according to the depth gradient increasing direction (x/y depth gradient increasing direction) of the test block in the lateral and longitudinal directions, the minimum value pritive_range of the P5 calculated depth range pritive_range is selected, and the maximum value pritive_range of the P8 calculated depth range pritive_range is selected, according to the criterion of selecting vertices when calculating the depth range as shown in table 1 above.
Step S603, for each test block, obtaining a background depth range corresponding to the test block, and judging whether to reject the test block according to a comparison result of the depth range corresponding to the test block and the background depth range corresponding to the test block.
In this step, after the P6 coarse-grain depth tester obtains the depth range corresponding to the test block and the background depth range corresponding to the test block, the depth range comparison is required to determine whether to reject the test block. This step, the P6 coarse-grained depth tester needs to be performed according to a specific depth test operator, specifically as follows:
Less than (less): if primary_range.min > =background_range.max, reject;
less than or equal to (less-equivalent): if the primary_range.min > background_range.max, rejecting;
Greater than (groter): if primary_range.max < = background_range.min, rejecting;
Greater than or equal to (greater-equal): if the primary_range.max is less than background_range.min, rejecting;
Equal to (equivalent): if the priority_range.min > background_range.max|priority_range.max < background_range.min, rejecting;
Unequal (not-equal): if primitive_range.min==primitive_range.max&&background_range.min==background_range.max&&primitive_range.min==background_range.min, is removed;
total culling (lever): all are removed;
total retention (always); all remain.
For obtaining the background depth range corresponding to the test block, in one embodiment, the obtaining the background depth range corresponding to the test block specifically includes:
If the background depth range corresponding to the test block is stored in the internal cache, reading the background depth range stored in the internal cache; if the background depth range corresponding to the test block does not exist in the internal cache, reading the background depth data corresponding to the test block from the external storage module, calculating the background depth range corresponding to the test block according to the background depth data corresponding to the test block, and storing the background depth range in the internal cache.
Specifically, the coarse-grain depth test of the P6 coarse-grain depth tester may involve two depth ranges: the depth range of each test block into which the current primitive is cut [ primary_range.min, primary_range.max ], and the background depth range corresponding to this test block [ background_range.min, background_range.max ]. The depth test of the P6 coarse-grain depth tester is to compare the prior_range with the background_range to obtain a test result, namely judging whether to reject the test block.
Whereas the calculation of the depth range private_range has been described in the aforementioned step S602, the calculation of the background depth range is described herein, which may be performed in the P2 internal cache.
In this embodiment, for the P2 internal cache, it may be used to cache the background depth range data, and may be updated in real time, so as to ensure the validity of the data. The P4 depth range calculator may send a "read background depth" instruction to the P2 internal cache, where if the P2 internal cache stores a background depth range corresponding to the test block, that is, if the P2 internal cache finds that the required background depth information is in the local cache, the P4 internal cache directly reads the background depth information and sends the read background depth information to the P6 coarse-granularity depth tester; if the P2 internal cache does not store the background depth range corresponding to the test block, that is, the P2 internal cache finds that the required background depth information is not local, a read instruction is sent to the external storage module, after the P2 internal cache receives the background depth data returned by the external storage module, the depth range is calculated according to the returned background depth data, and is stored locally and is output to the P6 coarse-grained depth tester. And the background depth range in the P2 internal cache can be updated in real time according to the test result of the P6 coarse-grained depth tester and the depth range corresponding to the test block, so that the real-time reliability of the data is ensured.
Therefore, when calculating the background depth range corresponding to the test block, one feasible method is to read the depth values of all pixels (sampling points) covered by the current test block back from the external storage module, compare the depth values to obtain the maximum value and the minimum value, and store the maximum value and the minimum value in the P2 internal cache.
In order to reduce the data read from the external storage module, in one embodiment, after determining whether to reject the test block according to the comparison result of the depth range corresponding to the test block and the background depth range corresponding to the test block in step S603, the method may further include the following steps:
And for the test blocks which are not removed, updating the corresponding background depth ranges in the internal cache by using the depth ranges corresponding to the test blocks which are not removed.
Specifically, in this embodiment, if the test result of the P6 coarse-granularity depth tester indicates that the test block is not rejected, the depth range corresponding to the non-rejected test block may be used to update the corresponding background depth range in the P2 internal cache, so as to be used when the rejection experiment of the same position is performed next time.
Based on the above embodiment, for example, in conjunction with fig. 8 and fig. 9, the selected test block includes 16 sampling points, and the P2 internal buffer memory must not store the corresponding depth range data when the depth range test is performed for the first time, so the background depth range needs to be stored in the P2 internal buffer memory after the background depth ranges of the 16 sampling points are read and calculated from the external storage module. And after the depth range test of the test block at the same position is finished, if the test block is not removed, updating the corresponding background depth range in the P2 internal cache by using the depth range of the test block which is not removed, and sending the test block to a downstream module and selecting the next test block to start the test.
For the test block which is not removed, the depth range is needed to update the background depth range in the P2 internal cache so as to ensure the instantaneity of the cache data. Specifically, the background depth range used to update the P2 internal cache also needs to be determined according to a specific depth test operator, which is specifically as follows:
less than/equal to (less than-equal): backspace. Min = min { primary_range. Min, backspace. Min };
Greater than/equal to (greater/greater-equal): backspace. Max = max { private_range. Max, backspace. Max };
Equal/all culling (equivalent/lever): not updating;
unequal/total retention (not-equal/always):background.min=min{primitive_range.min,background.min},background.max=max{primitive_range.max,backgroup.max}.
In addition, before obtaining a background depth range corresponding to each test block according to the comparison result of the depth range corresponding to the test block and the background depth range corresponding to the test block, and judging whether to reject the test block, the method may further include the following steps:
For each test block, the test block outside the view cone is culled.
This step may be performed by a P5 coarse grain depth cutter. As shown in FIG. 10, the P5 coarse-grain depth clipper performs depth clipping (DEPTH CLIP) on each test block, and eliminates the test block outside the view cone in advance, i.e. all the parts outside the view cone are clipped in this step, so as to save processing resources.
And step S604, the test blocks which are not removed are sent to a subsequent graph drawing pipeline.
The method mainly comprises the steps of sending test blocks which are not removed into a subsequent graph drawing pipeline, and performing pixel/sampling point level fine removal in a subsequent second/third part depth removal part (module).
According to the coarse-granularity depth rejection method in the graphic drawing assembly line, the proper rejection granularity is adaptively selected according to the depth gradient information corresponding to the graphic elements, the graphic elements are segmented into a plurality of test blocks according to the rejection granularity, and then the depth rejection is sequentially carried out on each test block, so that the depth rejection efficiency can be effectively improved, the graphic elements with larger depth variation cannot be fully rejected due to overlarge rejection granularity fixed selection, the rejection efficiency cannot be reduced due to the fact that the calculation amount is increased due to the fact that the rejection granularity fixed selection is too small, and when the depth range of each test block is calculated, a proper calculation mode is adaptively selected according to the depth gradient information of each test block so as to ensure the accuracy of the calculated depth range, and the rejection efficiency can be further improved. According to the scheme, the depth gradient information corresponding to the graphic element is used for adaptively adjusting the rejection granularity and flexibly selecting the depth range calculation mode of the test block, so that the optimal balance between the calculated amount and the calculated accuracy can be found, the first part in the current rejection method can be replaced, the coarse-granularity depth rejection part can be used for playing an optimal effect, and the overall working efficiency of the graphic drawing assembly line is improved.
As shown in fig. 11, the overall flow chart of the coarse-granularity depth rejection method provided by the application is that firstly, the P3 rejection granularity selector adaptively selects the rejection granularity of the primitive and performs test block segmentation, then the P4 adaptive depth range calculator adaptively calculates the corresponding depth range of each test block, then the P1 register pool can judge whether depth clipping is needed, if so, the coarse-granularity depth clipping machine performs depth clipping to reject the test block outside the view cone in advance, and for the part which fails to pass the depth clipping and is rejected in advance, the part does not need to be sent to the subsequent module, and for the test block which is not rejected in advance or does not need to perform the depth clipping, the depth test can be continued. At this time, the P1 register pool can determine whether a depth test is required, if yes, the P6 coarse-grain depth tester and the P2 internal buffer are used for performing the depth test on each test block, then the test block which fails the depth test is rejected without sending into a subsequent module, and if the test block which fails the depth test or does not need the depth test is not required to be subjected to the depth test, the corresponding background depth range in the P2 internal buffer can be updated according to the depth range of the test block and sent into a subsequent graphics drawing pipeline, and the pixel/sampling point level fine rejection is performed in a subsequent "second/third part depth rejection" part (module).
Compared with the depth rejection module in the prior art, the depth rejection module in the application uses a self-adaptive coarse-granularity depth rejection strategy to replace the depth rejection module in the prior art, adaptively selects proper rejection granularity according to the depth related information of each graphic element, divides each graphic element into a plurality of test blocks according to the rejection granularity, and then sequentially performs depth rejection on each test block, thereby effectively improving the depth rejection efficiency; and when the depth range of each test block is calculated, a proper calculation method is selected according to the depth information of the test block, so that the precision of the calculated depth range is ensured, and the rejection efficiency can be further improved.
The advantages provided by the application thus include: 1. the rejection granularity can be adaptively adjusted according to the depth information of the graphic elements, so that the rejection efficiency of coarse-granularity rejection is ensured, graphic elements with larger depth changes cannot be fully rejected due to overlarge rejection granularity selection, and the calculation amount is increased and the rejection efficiency is reduced due to overlarge rejection granularity selection; 2. the depth range calculation mode of each test block can be automatically adjusted, so that the rejection efficiency is further ensured; 3. the self-adaptive adjustment of the removing granularity of the depth information of the graphic primitive and the flexible selection of the depth range calculation mode of the test block can find the optimal balance between the calculated amount and the calculation precision, so that the coarse-granularity depth removing module is brought into the optimal effect, and the overall working efficiency of the assembly line is improved.
It should be understood that, although the steps in the flowcharts related to the embodiments described above are sequentially shown as indicated by arrows, these steps are not necessarily sequentially performed in the order indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in the flowcharts described in the above embodiments may include a plurality of steps or a plurality of stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of the steps or stages is not necessarily performed sequentially, but may be performed alternately or alternately with at least some of the other steps or stages.
Based on the same inventive concept, the embodiment of the application also provides a coarse-grain depth eliminating device in the graphics drawing pipeline for realizing the coarse-grain depth eliminating method in the graphics drawing pipeline. The implementation scheme of the solution provided by the device is similar to the implementation scheme described in the above method, so the specific limitation in the embodiments of the coarse-granularity depth eliminating device in one or more graphics drawing pipelines provided below can be referred to the limitation of the coarse-granularity depth eliminating method in the graphics drawing pipeline hereinabove, and will not be repeated here.
In one embodiment, as shown in FIG. 12, there is provided a coarse-granularity depth culling apparatus in a graphics rendering pipeline, the apparatus 1200 comprising:
The test block segmentation module 1201 is configured to select a corresponding rejection granularity according to depth gradient information corresponding to a primitive, and segment the primitive into a plurality of test blocks;
The depth range calculation module 1202 is configured to select, for each test block, a depth range corresponding to the test block according to depth gradient information corresponding to the test block, by calculating a corresponding depth range calculation mode;
The rejection judgment module 1203 is configured to obtain, for each test block, a background depth range corresponding to the test block, and judge whether to reject the test block according to a comparison result of the depth range corresponding to the test block and the background depth range corresponding to the test block;
and the post-processing module 1204 is used for sending the test blocks which are not removed into a subsequent graph drawing pipeline.
In one embodiment, the depth gradient information includes a lateral depth gradient value and a longitudinal depth gradient value of the primitive; the test block segmentation module 1201 is configured to obtain a preset depth gradient threshold range; according to the comparison result of the horizontal depth gradient value and the longitudinal depth gradient value with the depth gradient threshold range, respectively selecting the horizontal rejection granularity and the longitudinal rejection granularity corresponding to the graphic primitive; obtaining the corresponding rejection granularity according to the transverse rejection granularity and the longitudinal rejection granularity; and dividing the primitive into a plurality of test blocks according to the corresponding rejection granularity.
In one embodiment, the test block segmentation module 1201 is configured to select, for a lateral direction, a large culling granularity from selectable culling granularities as the lateral culling granularity if the lateral depth gradient value is smaller than a minimum threshold of the depth gradient threshold range; if the transverse depth gradient value is within the depth gradient threshold range, selecting a rejection granularity from selectable rejection granularities as the transverse rejection granularity; if the transverse depth gradient value is larger than the maximum threshold value of the depth gradient threshold value range, selecting small rejection granularity from selectable rejection granularity as the transverse rejection granularity; for the longitudinal direction, if the longitudinal depth gradient value is smaller than the minimum threshold value of the depth gradient threshold value range, selecting a large rejection granularity from selectable rejection granularities as the longitudinal rejection granularity; if the longitudinal depth gradient value is within the depth gradient threshold range, selecting a rejection granularity from selectable rejection granularities as the longitudinal rejection granularity; and if the longitudinal depth gradient value is larger than the maximum threshold value of the depth gradient threshold value range, selecting small rejection granularity from the selectable rejection granularity as the longitudinal rejection granularity.
In one embodiment, the depth range calculation module 1202 is configured to determine whether a depth gradient value corresponding to the test block is greater than a preset threshold value; if yes, selecting a bounding box mode from optional depth range calculation modes to calculate and obtain a depth range corresponding to the test block; if not, selecting a test block mode from the optional depth range calculation modes to calculate and obtain the depth range corresponding to the test block.
In one embodiment, the depth range calculation module 1202 is configured to select two vertices from four vertices of a bounding box in the test block where the primitive is located according to a depth gradient growth direction of the test block in a lateral direction and a longitudinal direction, and calculate a depth range corresponding to the test block based on the two vertices.
In one embodiment, the depth range calculation module 1202 is configured to select two vertices among four vertices of the test block according to a depth gradient growth direction of the test block in a lateral direction and a longitudinal direction, and calculate a depth range corresponding to the test block based on the two vertices.
In one embodiment, the rejection determination module 1203 is configured to read the background depth range stored in the internal buffer if the background depth range corresponding to the test block is stored in the internal buffer; and if the background depth range corresponding to the test block does not exist in the internal cache, reading the background depth data corresponding to the test block from an external storage module, calculating the background depth range corresponding to the test block according to the background depth data corresponding to the test block, and storing the background depth range in the internal cache.
In one embodiment, the post-processing module 1204 is further configured to update, for a test block that is not rejected, a corresponding background depth range in the internal cache with a depth range corresponding to the test block that is not rejected.
In one embodiment, the apparatus 1200 further comprises: and the early rejection module is used for rejecting the test blocks outside the view cone for each test block.
The modules in the coarse-granularity depth removing device in the graphics drawing pipeline can be all or partially realized by software, hardware and a combination thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, database, or other medium used in embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, high density embedded nonvolatile Memory, resistive random access Memory (ReRAM), magneto-resistive random access Memory (Magnetoresistive Random Access Memory, MRAM), ferroelectric Memory (Ferroelectric Random Access Memory, FRAM), phase change Memory (PHASE CHANGE Memory, PCM), graphene Memory, and the like. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory, and the like. By way of illustration, and not limitation, RAM can be in various forms such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), etc. The databases referred to in the embodiments provided herein may include at least one of a relational database and a non-relational database. The non-relational database may include, but is not limited to, a blockchain-based distributed database, and the like. The processor referred to in the embodiments provided in the present application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, or the like, but is not limited thereto.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The foregoing examples illustrate only a few embodiments of the application and are described in detail herein without thereby limiting the scope of the application. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the application, which are all within the scope of the application. Accordingly, the scope of the application should be assessed as that of the appended claims.

Claims (10)

1. A method for coarse-grained depth culling in a graphics rendering pipeline, the method comprising:
Selecting corresponding rejection granularity to divide the primitive into a plurality of test blocks according to depth gradient information corresponding to the primitive;
selecting a corresponding depth range calculation mode to calculate and obtain a depth range corresponding to each test block according to the depth gradient information corresponding to the test block;
For each test block, acquiring a background depth range corresponding to the test block, and judging whether to reject the test block according to a comparison result of the depth range corresponding to the test block and the background depth range corresponding to the test block;
sending the test blocks which are not removed into a subsequent graph drawing assembly line;
The depth gradient information comprises a transverse depth gradient value and a longitudinal depth gradient value of the graphic element; selecting a corresponding rejection granularity to divide the primitive into a plurality of test blocks according to depth gradient information corresponding to the primitive, including: acquiring a preset depth gradient threshold range; according to the comparison result of the horizontal depth gradient value and the longitudinal depth gradient value with the depth gradient threshold range, respectively selecting the horizontal rejection granularity and the longitudinal rejection granularity corresponding to the graphic primitive; obtaining the corresponding rejection granularity according to the transverse rejection granularity and the longitudinal rejection granularity; dividing the primitive into a plurality of test blocks according to the corresponding rejection granularity;
According to the comparison result of the horizontal depth gradient value and the longitudinal depth gradient value with the depth gradient threshold range, respectively selecting the horizontal rejection granularity and the longitudinal rejection granularity corresponding to the primitive, including: for the transverse direction, if the transverse depth gradient value is smaller than the minimum threshold value of the depth gradient threshold value range, selecting a large rejection granularity from selectable rejection granularities as the transverse rejection granularity; if the transverse depth gradient value is within the depth gradient threshold range, selecting a rejection granularity from selectable rejection granularities as the transverse rejection granularity; if the transverse depth gradient value is larger than the maximum threshold value of the depth gradient threshold value range, selecting small rejection granularity from selectable rejection granularity as the transverse rejection granularity; for the longitudinal direction, if the longitudinal depth gradient value is smaller than the minimum threshold value of the depth gradient threshold value range, selecting a large rejection granularity from selectable rejection granularities as the longitudinal rejection granularity; if the longitudinal depth gradient value is within the depth gradient threshold range, selecting a rejection granularity from selectable rejection granularities as the longitudinal rejection granularity; and if the longitudinal depth gradient value is larger than the maximum threshold value of the depth gradient threshold value range, selecting small rejection granularity from the selectable rejection granularity as the longitudinal rejection granularity.
2. The method according to claim 1, wherein selecting the depth range corresponding to the test block by calculating the depth range calculation method according to the depth gradient information corresponding to the test block comprises:
judging whether the depth gradient value corresponding to the test block is larger than a preset threshold value or not;
If yes, selecting a bounding box mode from optional depth range calculation modes to calculate and obtain a depth range corresponding to the test block;
if not, selecting a test block mode from the optional depth range calculation modes to calculate and obtain the depth range corresponding to the test block.
3. The method according to claim 2, wherein the selecting a bounding box from the selectable depth range calculation modes to calculate the depth range corresponding to the test block includes:
And selecting two vertexes from four vertexes of a bounding box where the graphic element is positioned in the test block according to the depth gradient growing directions of the test block in the transverse direction and the longitudinal direction, and calculating the depth range corresponding to the test block based on the two vertexes.
4. The method according to claim 2, wherein selecting a test block from the selectable depth range calculation modes to calculate a depth range corresponding to the test block comprises:
and selecting two vertexes from four vertexes of the test block according to the depth gradient growing directions of the test block in the transverse direction and the longitudinal direction, and calculating the depth range corresponding to the test block based on the two vertexes.
5. The method of claim 1, wherein the obtaining the background depth range corresponding to the test block comprises:
if the background depth range corresponding to the test block is stored in the internal cache, reading the background depth range stored in the internal cache;
and if the background depth range corresponding to the test block does not exist in the internal cache, reading the background depth data corresponding to the test block from an external storage module, calculating the background depth range corresponding to the test block according to the background depth data corresponding to the test block, and storing the background depth range in the internal cache.
6. The method according to claim 5, wherein the determining whether to reject the test block according to the comparison result between the depth range corresponding to the test block and the background depth range corresponding to the test block further comprises:
and for the test blocks which are not removed, updating the corresponding background depth ranges in the internal cache by using the depth ranges corresponding to the test blocks which are not removed.
7. The method according to any one of claims 1 to 6, wherein for each test block, a background depth range corresponding to the test block is obtained, and before determining whether to reject the test block according to a comparison result between the depth range corresponding to the test block and the background depth range corresponding to the test block, the method further comprises:
For each test block, the test block outside the view cone is culled.
8. A coarse-grained depth culling apparatus in a graphics rendering pipeline, the apparatus comprising:
The test block segmentation module is used for selecting corresponding rejection granularity to segment the graphic element into a plurality of test blocks according to the depth gradient information corresponding to the graphic element;
The depth range calculation module is used for selecting a corresponding depth range calculation mode according to the depth gradient information corresponding to each test block to calculate and obtain a depth range corresponding to the test block;
The rejection judgment module is used for acquiring a background depth range corresponding to each test block, and judging whether to reject the test block according to a comparison result of the depth range corresponding to the test block and the background depth range corresponding to the test block;
the post-processing module is used for sending the test blocks which are not removed into a subsequent graph drawing assembly line;
The depth gradient information comprises a transverse depth gradient value and a longitudinal depth gradient value of the graphic element; the test block segmentation module is used for acquiring a preset depth gradient threshold range; according to the comparison result of the horizontal depth gradient value and the longitudinal depth gradient value with the depth gradient threshold range, respectively selecting the horizontal rejection granularity and the longitudinal rejection granularity corresponding to the graphic primitive; obtaining the corresponding rejection granularity according to the transverse rejection granularity and the longitudinal rejection granularity; dividing the primitive into a plurality of test blocks according to the corresponding rejection granularity;
The test block segmentation module is used for selecting a large rejection granularity from selectable rejection granularities as the transverse rejection granularity if the transverse depth gradient value is smaller than the minimum threshold value of the depth gradient threshold value range for the transverse direction; if the transverse depth gradient value is within the depth gradient threshold range, selecting a rejection granularity from selectable rejection granularities as the transverse rejection granularity; if the transverse depth gradient value is larger than the maximum threshold value of the depth gradient threshold value range, selecting small rejection granularity from selectable rejection granularity as the transverse rejection granularity; for the longitudinal direction, if the longitudinal depth gradient value is smaller than the minimum threshold value of the depth gradient threshold value range, selecting a large rejection granularity from selectable rejection granularities as the longitudinal rejection granularity; if the longitudinal depth gradient value is within the depth gradient threshold range, selecting a rejection granularity from selectable rejection granularities as the longitudinal rejection granularity; and if the longitudinal depth gradient value is larger than the maximum threshold value of the depth gradient threshold value range, selecting small rejection granularity from the selectable rejection granularity as the longitudinal rejection granularity.
9. The apparatus of claim 8, wherein the depth range calculation module is configured to determine whether a depth gradient value corresponding to the test block is greater than a preset threshold value; if yes, selecting a bounding box mode from optional depth range calculation modes to calculate and obtain a depth range corresponding to the test block; if not, selecting a test block mode from the optional depth range calculation modes to calculate and obtain the depth range corresponding to the test block.
10. The apparatus of claim 9, wherein the depth range calculation module is configured to select two vertices among four vertices of a bounding box in the test block where the primitive is located according to a depth gradient growth direction of the test block in a lateral direction and a longitudinal direction, and calculate a depth range corresponding to the test block based on the two vertices.
CN202210784793.5A 2022-07-05 2022-07-05 Coarse-granularity depth eliminating method and device in graphic drawing assembly line Active CN117392295B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210784793.5A CN117392295B (en) 2022-07-05 2022-07-05 Coarse-granularity depth eliminating method and device in graphic drawing assembly line

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210784793.5A CN117392295B (en) 2022-07-05 2022-07-05 Coarse-granularity depth eliminating method and device in graphic drawing assembly line

Publications (2)

Publication Number Publication Date
CN117392295A CN117392295A (en) 2024-01-12
CN117392295B true CN117392295B (en) 2024-09-06

Family

ID=89436054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210784793.5A Active CN117392295B (en) 2022-07-05 2022-07-05 Coarse-granularity depth eliminating method and device in graphic drawing assembly line

Country Status (1)

Country Link
CN (1) CN117392295B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101600115A (en) * 2009-06-29 2009-12-09 中国航空工业集团公司洛阳电光设备研究所 A kind of method of eliminating periodic characteristic block of image stabilization system
CN109643464A (en) * 2016-09-16 2019-04-16 英特尔公司 Method and apparatus for the pre- process of efficient depth

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6525737B1 (en) * 1998-08-20 2003-02-25 Apple Computer, Inc. Graphics processor with pipeline state storage and retrieval
WO2001037220A1 (en) * 1999-11-18 2001-05-25 Info Assets, Inc. Rendering image data
US20150373153A1 (en) * 2010-06-30 2015-12-24 Primal Space Systems, Inc. System and method to reduce bandwidth requirement for visibility event packet streaming using a predicted maximal view frustum and predicted maximal viewpoint extent, each computed at runtime
US9324180B2 (en) * 2013-12-09 2016-04-26 Intel Corporation Culling using masked depths
US10846915B2 (en) * 2018-03-21 2020-11-24 Intel Corporation Method and apparatus for masked occlusion culling
US11315225B2 (en) * 2019-06-20 2022-04-26 Samsung Electronics Co., Ltd. Coarse depth culling during binning
CN112053447B (en) * 2020-07-29 2022-10-25 清华大学 Augmented reality three-dimensional registration method and device
CN113989205A (en) * 2021-10-20 2022-01-28 重庆科技学院 ORB mismatching elimination algorithm based on gradient cosine similarity
CN114219898B (en) * 2021-12-21 2024-04-16 山西大学 Selective integrated three-dimensional reconstruction method based on optical image

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101600115A (en) * 2009-06-29 2009-12-09 中国航空工业集团公司洛阳电光设备研究所 A kind of method of eliminating periodic characteristic block of image stabilization system
CN109643464A (en) * 2016-09-16 2019-04-16 英特尔公司 Method and apparatus for the pre- process of efficient depth

Also Published As

Publication number Publication date
CN117392295A (en) 2024-01-12

Similar Documents

Publication Publication Date Title
US11657565B2 (en) Hidden culling in tile-based computer generated images
US20230088494A1 (en) Tessellating patches of surface data in tile based computer graphics rendering
EP1410336B1 (en) Three-dimensional graphics system
US8497876B2 (en) Infinite complexity deep-framebuffer rendering
KR102370617B1 (en) Method and apparatus for processing a image by performing adaptive sampling
WO2016139488A2 (en) Method of and apparatus for processing graphics
US20030160785A1 (en) Texture map editing
Lauritzen et al. Layered variance shadow maps
US20090033659A1 (en) Real-time luminosity dependent subdivision
KR20000068684A (en) Method and apparatus for attribute interpolation in 3d graphics
US9530241B2 (en) Clipping of graphics primitives
Sander et al. Progressive buffers: view-dependent geometry and texture lod rendering
WO2021183545A1 (en) Graphics processing unit render mode selection system
CN117392295B (en) Coarse-granularity depth eliminating method and device in graphic drawing assembly line
Dyken et al. Real‐Time GPU Silhouette Refinement using Adaptively Blended Bézier Patches
KR20160068204A (en) Data processing method for mesh geometry and computer readable storage medium of recording the same
US9519997B1 (en) Perfect bounding for optimized evaluation of procedurally-generated scene data
CN115063496A (en) Method and device for rapidly processing point cloud data
CN115049531A (en) Image rendering method and device, graphic processing equipment and storage medium
GB2605360A (en) Method, Apparatus and Storage Medium for Realizing Geometric Viewing Frustum of OCC Tree in Smart City
WO2023208385A1 (en) A soft shadow algorithm with contact hardening effect for mobile gpu
CN118537465A (en) Section rendering method, device, equipment and medium for sectioning object

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: 200135, 11th Floor, Building 3, No. 889 Bibo Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai

Applicant after: Granfei Intelligent Technology Co.,Ltd.

Address before: 200135 Room 201, No. 2557, Jinke Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Applicant before: Gryfield Intelligent Technology Co.,Ltd.

Country or region before: China

GR01 Patent grant
GR01 Patent grant