A fast judging circuit and method for the position relationship between a graphics primitive and a view volume

CN115393157BActive Publication Date: 2026-10-27西安翔腾微电子科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211000360.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-20
Publication Date
2026-10-27
Estimated Expiration
2042-08-20

AI Technical Summary

Technical Problem

[0002]随着图形化应用的不断增加,早期单靠CPU进行图形绘制的解决方案已经难以满足成绩和技术增长的图形处理需求,图形处理器(Graphic Processing Unit,GPU)应运而生

Benefits of technology

[0027]本发明提供的一种图形基元与视景体位置关系的快速判断电路,由图元顶点命令接收模块、顶点位置关系判断模块、图元顶点命令存储FIFO、位置判断结果存储FIFO和顶点命令输出控制模块组成;以流水方式对点、线三角形三种图形基元命令进行剪裁处理。本发明能够快速判断出不需要进行交点计算的图元,从而将完全在视景体外的图元丢弃,将完全在视景体内的图元直接发送给后级单元,将与视景体有交点的图形基元发送给剪裁核心模块进行剪裁,以此避免所有图元均进入剪裁核心模块按视景体平面顺序串行逐一判断位置关系所带来的效率损失,提高图形处理器性能。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115393157B_ABST
    Figure CN115393157B_ABST
Patent Text Reader

Abstract

The present application relates to a kind of fast determination circuit and method of the position relation of graphics primitive and view volume.The circuit of the present application includes primitive vertex command receiving module, vertex position relation judgment module, primitive vertex command storage FIFO, position judgment result storage FIFO and vertex command output control module, primitive vertex command receiving module is connected with vertex position relation judgment module and primitive vertex command storage FIFO respectively, vertex position relation judgment module is connected with position judgment result storage FIFO, and primitive vertex command storage FIFO and position judgment result storage FIFO are connected with vertex command output control module respectively.The present application can quickly process the point, line, triangle primitive inside and outside view volume completely, for these graphics primitives do not need to be judged again according to the order of six planes of view volume one by one, greatly improve the performance of three-dimensional clipping module.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of digital integrated circuit design, and particularly relates to a circuit and method for rapidly determining the positional relationship between graphic primitives and view objects. Background Technology

[0002] With the increasing number of graphical applications, early solutions that relied solely on CPUs for graphics rendering could no longer meet the demands of performance and technological advancements in graphics processing. This led to the development of the Graphics Processing Unit (GPU). The high-speed, parallel characteristics of GPU pipelines and their flexible programmability provide a robust operating platform for graphics processing and general-purpose parallel computing.

[0003] 3D clipping is an important module in the GPU's geometry engine. Its function is to clip the parts of graphics primitives that are outside the view frustum in projection space. The ability to quickly determine the positional relationship between primitive vertices and the view frustum has a significant impact on 3D clipping performance. Summary of the Invention

[0004] To address the technical problems existing in the background art, the present invention provides a circuit and method for quickly determining the positional relationship between graphic primitives and the view volume. The present invention can quickly process point, line, and triangle primitives that are completely inside or completely outside the view volume. For these graphic primitives, it is no longer necessary to judge them one by one according to the six planes of the view volume, which greatly improves the performance of the 3D clipping module.

[0005] The technical solution of this invention is as follows: This invention is a fast determination circuit for the positional relationship between graphic primitives and view volumes. Its special feature is that the fast determination circuit includes a primitive vertex command receiving module, a vertex positional relationship determination module, a primitive vertex command storage FIFO, a position determination result storage FIFO, and a vertex command output control module. The primitive vertex command receiving module is connected to the vertex positional relationship determination module and the primitive vertex command storage FIFO, respectively. The vertex positional relationship determination module is connected to the position determination result storage FIFO, and the primitive vertex command storage FIFO and the position determination result storage FIFO are connected to the vertex command output control module, respectively.

[0006] Furthermore, the primitive vertex command receiving module writes the commands input from the preceding unit into the primitive vertex command storage FIFO while simultaneously performing simple parsing of the input commands, distinguishing between point, line, and triangle commands, obtaining the vertex coordinates in the commands, and sending them to the vertex position relationship judgment module.

[0007] Furthermore, the vertex position relationship determination module uses several floating-point data comparison modules to determine the position relationship between each input graphic primitive vertex and the view volume plane, and writes the position determination result of each graphic primitive into the position determination result storage FIFO.

[0008] Furthermore, in the vertex position relationship determination module, the positional relationship between each input graphic primitive vertex and the view volume plane is determined as follows:

[0009] For a point graphic primitive, its coordinates have three dimensional components: x, y, and z. If the floating-point comparison module determines that -1≤x≤1, -1≤y≤1, and -1≤z≤1, then the position of the point is determined to be inside the view volume; otherwise, the position of the point is determined to be outside the view volume.

[0010] For a line graphic primitive, it has two vertices. The positional relationship between each vertex and the view volume is determined in the same way as that of a point graphic primitive. When both vertices are inside the view volume, the position of the line is determined to be inside the view volume. When both vertices are outside the view volume, the position of the line is determined to be outside the view volume. Otherwise, the position of the line is determined to be intersecting with the view volume.

[0011] For a triangular graphic primitive, it has three vertices. The positional relationship between each vertex and the view volume is determined in the same way as that of a point graphic primitive. When all three vertices are inside the view volume, the position of the triangle is determined to be inside the view volume. When all three vertices are outside the view volume, the position of the triangle is determined to be outside the view volume. Otherwise, the position of the triangle is determined to be intersecting with the view volume.

[0012] Furthermore, the output control module reads the judgment result from the position judgment result storage FIFO. If the judgment result reads that the current primitive is completely outside the view volume, the current primitive in the primitive vertex command storage FIFO is discarded. If the result read from the position judgment result storage FIFO is that the current primitive is completely inside the view volume, the current primitive in the primitive vertex command storage FIFO is read and sent directly to the subsequent unit. If the result read from the position judgment result storage FIFO is that the current primitive intersects with the view volume, the current primitive in the primitive vertex command storage FIFO is read and sent to the clipping core module for processing.

[0013] A method for rapidly determining the positional relationship between graphic primitives and view frustum, characterized in that the method comprises the following steps:

[0014] 1) The primitive vertex command receiving module performs preliminary parsing of the input command, decomposes the vertex coordinates of each primitive, and stores them simultaneously;

[0015] 2) Vertex position relationship determination module: Determines the position relationship between the coordinates of each vertex and the view volume, and then determines the position relationship between the graphics primitives and the view volume;

[0016] 3) The primitive vertex command storage FIFO stores the commands written by the primitive vertex command receiving module;

[0017] 4) The position determination result is stored in a FIFO file, which stores the position information of each graphic primitive and the real object written by the vertex position relationship determination module;

[0018] 5) The vertex command output control module processes the completed graphics primitive commands according to their categories.

[0019] Furthermore, the specific steps of step 2) are as follows:

[0020] 2.1) For a point graphic primitive, its coordinates have three dimensional components: x, y, and z. If the floating-point comparison module determines that -1≤x≤1, -1≤y≤1, and -1≤z≤1, then the position of the point is determined to be inside the view volume; otherwise, the position of the point is determined to be outside the view volume.

[0021] 2.2) For a line graphic primitive, it has two vertices. The positional relationship between each vertex and the view volume is determined in the same way as that of a point graphic primitive. When both vertices are inside the view volume, the position of the line is determined to be inside the view volume. When both vertices are outside the view volume, the position of the line is determined to be outside the view volume. Otherwise, the position of the line is determined to be intersecting with the view volume.

[0022] 2.3) For a triangular graphic primitive, it has three vertices. The positional relationship between each vertex and the view volume is determined in the same way as that of a point graphic primitive. When all three vertices are inside the view volume, the position of the triangle is determined to be inside the view volume. When all three vertices are outside the view volume, the position of the triangle is determined to be outside the view volume. Otherwise, the position of the triangle is determined to be intersecting with the view volume.

[0023] Furthermore, the specific steps of step 5) are as follows:

[0024] 5.1) Graphical primitives that are completely outside the viewport are discarded directly;

[0025] 5.2) Graphical primitives that are entirely within the view frustum are directly output to subsequent units;

[0026] 5.3) Graphical primitives that intersect with the view volume are sent to the clipping core module for processing.

[0027] This invention provides a fast circuit for determining the positional relationship between graphic primitives and the view volume. It comprises a primitive vertex command receiving module, a vertex positional relationship determination module, a primitive vertex command storage FIFO, a position determination result storage FIFO, and a vertex command output control module. It performs pipelined clipping processing on point, line, and triangle graphic primitive commands. This invention can quickly identify primitives that do not require intersection calculation, thus discarding primitives completely outside the view volume, directly sending primitives completely within the view volume to subsequent units, and sending graphic primitives with intersections with the view volume to the clipping core module for clipping. This avoids the efficiency loss caused by sequentially determining the positional relationship of all primitives in the clipping core module according to the view volume plane order, thereby improving graphics processor performance. Attached Figure Description

[0028] Figure 1 This is a general block diagram of the present invention;

[0029] Figure 2 This is an application block diagram of the vertex position relationship determination module in a preferred embodiment of the present invention. Detailed Implementation

[0030] The technical solution of the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0031] See Figure 1 The specific embodiment of this invention comprises a primitive vertex command receiving module, a vertex position relationship judgment module, a primitive vertex command storage FIFO, a position judgment result storage FIFO, and a vertex command output control module. The primitive vertex command receiving module is connected to both the vertex position relationship judgment module and the primitive vertex command storage FIFO; the vertex position relationship judgment module is connected to the position judgment result storage FIFO; and the primitive vertex command storage FIFO and the position judgment result storage FIFO are both connected to the vertex command output control module. In practical applications, the primitive vertex command receiving module is connected to the preceding unit, and the vertex command output control module is connected to both the trimming core module and the following unit, wherein:

[0032] The primitive vertex command receiving module writes the commands input from the preceding unit into the primitive vertex command storage FIFO while simultaneously performing simple parsing of the input commands, distinguishing between point, line, and triangle commands, obtaining the vertex coordinates in the commands, and sending them to the vertex position relationship judgment module.

[0033] The vertex position relationship determination module uses several floating-point data comparison modules to determine the positional relationship between each input graphic primitive vertex and the view volume plane:

[0034] For a point graphic primitive, its coordinates have three dimensional components: x, y, and z. If the floating-point comparison module determines that -1≤x≤1, -1≤y≤1, and -1≤z≤1, then the position of the point is determined to be inside the view volume; otherwise, the position of the point is determined to be outside the view volume.

[0035] For a line graphic primitive, it has two vertices. The positional relationship between each vertex and the view volume is determined in the same way as that of a point graphic primitive. When both vertices are inside the view volume, the position of the line is determined to be inside the view volume. When both vertices are outside the view volume, the position of the line is determined to be outside the view volume. Otherwise, the position of the line is determined to be intersecting with the view volume.

[0036] For a triangular graphic primitive, it has three vertices. The positional relationship between each vertex and the view volume is determined in the same way as that of a point graphic primitive. When all three vertices are inside the view volume, the position of the triangle is determined to be inside the view volume. When all three vertices are outside the view volume, the position of the triangle is determined to be outside the view volume. Otherwise, the position of the triangle is determined to be intersecting with the view volume.

[0037] The vertex position relationship determination module writes the position determination result of each graphic primitive into the position determination result storage FIFO.

[0038] The output control module reads the judgment result from the position judgment result storage FIFO. If the judgment result reads that the current primitive is completely outside the view volume, the current primitive in the primitive vertex command storage FIFO is discarded. If the result read from the position judgment result storage FIFO is that the current primitive is completely inside the view volume, the current primitive in the primitive vertex command storage FIFO is read and sent directly to the subsequent unit. If the result read from the position judgment result storage FIFO is that the current primitive intersects with the view volume, the current primitive in the primitive vertex command storage FIFO is read and sent to the clipping core module for processing.

[0039] This invention also provides a method for quickly determining the positional relationship between graphic primitives and view volumes, the specific steps of which are as follows:

[0040] 1) The primitive vertex command receiving module performs preliminary parsing of the input command, decomposes the vertex coordinates of each primitive, and stores them simultaneously;

[0041] 2) Vertex position relationship determination module: Determines the position relationship between the coordinates of each vertex and the view volume, and then determines the position relationship between the graphics primitives and the view volume;

[0042] 2.1) For a point graphic primitive, its coordinates have three dimensional components: x, y, and z. If the floating-point comparison module determines that -1≤x≤1, -1≤y≤1, and -1≤z≤1, then the position of the point is determined to be inside the view volume; otherwise, the position of the point is determined to be outside the view volume.

[0043] 2.2) For a line graphic primitive, it has two vertices. The positional relationship between each vertex and the view volume is determined in the same way as that of a point graphic primitive. When both vertices are inside the view volume, the position of the line is determined to be inside the view volume. When both vertices are outside the view volume, the position of the line is determined to be outside the view volume. Otherwise, the position of the line is determined to be intersecting with the view volume.

[0044] 2.3) For a triangular graphic primitive, it has three vertices. The positional relationship between each vertex and the view volume is determined in the same way as that of a point graphic primitive. When all three vertices are inside the view volume, the position of the triangle is determined to be inside the view volume. When all three vertices are outside the view volume, the position of the triangle is determined to be outside the view volume. Otherwise, the position of the triangle is determined to be intersecting with the view volume.

[0045] 3) The primitive vertex command storage FIFO stores the commands written by the primitive vertex command receiving module;

[0046] 4) The position determination result is stored in a FIFO file, which stores the position information of each graphic primitive and the real object written by the vertex position relationship determination module;

[0047] 5) The vertex command output control module processes the completed graphics primitive commands according to their categories.

[0048] 5.1) Graphical primitives that are completely outside the viewport are discarded directly;

[0049] 5.2) Graphical primitives that are entirely within the view frustum are directly output to subsequent units;

[0050] 5.3) Graphical primitives that intersect with the view volume are sent to the clipping core module for processing.

[0051] In a preferred embodiment of the present invention, the primitive vertex command input by the front-end unit has a bit width of 785 bits, of which the high 17 bits are the command header, and the remaining 768 bits are sequentially divided into 128 bits for each vertex attribute (coordinates can also be considered an attribute), each attribute consisting of four 32-bit IEEE 754 floating-point parameters. The vertex coordinates are the first 128 bits of data after the header, with each 32-bit bit corresponding to the x, y, z, and w components of the homogeneous coordinates of the vertex from high to low. The header contains 3 bits of vt_flag data used to distinguish whether the input command is the start point of a point graphic primitive, the start point of a line graphic primitive, the end point of a line graphic primitive, the start point of a triangle graphic primitive, the midpoint of a triangle graphic primitive, or the end point of a triangle graphic primitive.

[0052] The primitive vertex command receiving module receives the primitive vertex commands from the preceding unit. Simultaneously, it writes the input commands into the primitive vertex storage FIFO and parses them. Based on the vt_flag data, it determines the command type: a single point primitive, a line start point, a line end point, a triangle start point, a triangle midpoint, or a triangle end point. It also extracts the x, y, and z components of the vertex coordinates for each command. For point primitives, the corresponding x, y, and z components are sent to the vertex position relationship determination module immediately after command decomposition. For line primitives, all coordinate components of the two vertices are sent after the start and end points are received and decomposed. For triangle primitives, all coordinate components of the three vertices are sent to the vertex position relationship determination module after the start, mid, and end points are received and decomposed. The vt_flag of the point, line end point, and triangle end point is also sent to the vertex position relationship determination module.

[0053] The vertex position relationship determination module determines the graphics primitive type based on `vt_flag` and calls the corresponding number of floating-point data comparison modules to complete the position relationship determination between vertices and the clipping plane. See also... Figure 2 Each FADD is a floating-point data comparison module, which can compare the size of two input floating-point data.

[0054] For point graphics primitives, x0, y0, z0 transmitted from the primitive vertex command receiving module are valid, while x1, y1, z1, x2, y2, z2 are invalid. FADD1 determines the position of the vertex relative to the left plane: if -1 ≤ x, the vertex is inside the left plane; otherwise, the vertex is outside the left plane. FADD2 determines the position of the vertex relative to the right plane: if x ≤ 1, the vertex is inside the right plane; otherwise, the vertex is outside the right plane. FADD3 determines the position of the vertex relative to the lower plane: if -1 ≤ y, the vertex is inside the lower plane; otherwise, the vertex is outside the lower plane. FADD4 determines the position of the vertex relative to the upper plane: if y ≤ 1, the vertex is inside the upper plane; otherwise, the vertex is outside the upper plane. FADD5 determines the position of the vertex relative to the rear plane: if -1 ≤ z, the vertex is inside the rear plane; otherwise, the vertex is outside the rear plane. FADD6 determines the position of the vertex relative to the front plane: if z ≤ 1, the vertex is inside the front plane; otherwise, the vertex is outside the front plane. If the final judgment result of the vertex is -1≤x≤1, -1≤y≤1, -1≤z≤1, then the vertex is inside the view; otherwise, the vertex is outside the view.

[0055] For line graphics primitives, x0, y0, z0, x1, y1, z1 transmitted from the primitive vertex command receiving module are valid, while x2, y2, z2 are invalid. x0, y0, z0 correspond to the starting coordinates of the line, and x1, y1, z1 correspond to the ending coordinates of the line. The determination of the positional relationship between each vertex and the view volume is consistent with that of point graphics primitives. To improve processing efficiency, six more floating-point data comparison units can be called to determine the positional relationship of the starting and ending points simultaneously. Figure 2 From FADD7 to FADD12. If both vertices are inside the view frustum, then the line is inside the view frustum; if both vertices are outside the view frustum, then the line is outside the view frustum; otherwise, the line intersects the view frustum.

[0056] For the triangle graphic primitive, the x0, y0, z0, x1, y1, z1, x2, y2, and z2 values ​​transmitted from the primitive vertex command receiving module are all valid. x0, y0, and z0 correspond to the starting coordinates of the triangle, x1, y1, and z1 correspond to the midpoint coordinates, and x2, y2, and z2 correspond to the ending coordinates. The determination of the positional relationship between each vertex and the view volume is consistent with that of the point graphic primitive. To improve processing efficiency, a total of 18 floating-point data comparison modules are used to determine the positional relationship between the three vertices and the view volume. If all three vertices are within the view volume, then the triangle is within the view volume; if all three vertices are outside the view volume, then the triangle is outside the view volume; otherwise, the triangle intersects with the view volume.

[0057] The vertex position relationship determination module completes the determination of the position relationship between the three types of graphic primitives and the view volume in a pipeline manner, and encodes the different position relationships of each type of graphic primitive and writes them into the position determination result storage FIFO, while also writing the corresponding vt_flag value.

[0058] The vertex command output control module reads the position determination result and stores it in a FIFO when both the pruning core module and subsequent units can receive tasks. The read data lines are identified as primitives based on `vt_flag`, and then further processed according to their positional relationships.

[0059] For a point graphic primitive, if the positional relationship code indicates that the point is within the view volume, then one command is read from the primitive vertex command storage FIFO and directly output to the subsequent unit; if the positional relationship code indicates that the point is outside the view volume, then one command is read from the primitive vertex command storage FIFO and directly discarded.

[0060] For line graphic primitives, if the positional relationship encoding shows that the line is within the view, then two commands are read from the primitive vertex command storage FIFO and directly output to the subsequent unit; if the positional relationship encoding shows that the line is outside the view, then two commands are read from the primitive vertex command storage FIFO and discarded; otherwise, two commands are read from the primitive vertex command storage FIFO and sent to the clipping core module.

[0061] For a triangular graphic primitive, if the positional relationship code indicates that the triangle is within the viewport, then three commands are read from the primitive vertex command storage FIFO and directly output to the subsequent unit; if the positional relationship code indicates that the triangle is outside the viewport, then three commands are read from the primitive vertex command storage FIFO and discarded; otherwise, three commands are read from the primitive vertex command storage FIFO and sent to the clipping core module.

[0062] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A circuit for rapidly determining the positional relationship between graphic primitives and view volumes, characterized in that: The fast judgment circuit includes a primitive vertex command receiving module, a vertex position relationship judgment module, a primitive vertex command storage FIFO, a position judgment result storage FIFO, and a vertex command output control module. The primitive vertex command receiving module is connected to both the vertex position relationship judgment module and the primitive vertex command storage FIFO. The vertex position relationship judgment module is connected to the position judgment result storage FIFO. The primitive vertex command storage FIFO and the position judgment result storage FIFO are both connected to the vertex command output control module. The primitive vertex command receiving module simultaneously writes commands input from the preceding unit into the primitive vertex command storage FIFO and performs simple parsing of the input commands, distinguishing between point, line, and triangle commands and obtaining the vertex coordinates within the commands, which are then sent to the vertex position relationship judgment module. The vertex position relationship judgment module uses several floating-point data comparison modules to determine the positional relationship between each input graphic primitive vertex and the view volume plane, and writes the position judgment result of each graphic primitive into the position judgment result storage FIFO. Specifically, the vertex position relationship judgment module determines the positional relationship between each input graphic primitive vertex and the view volume plane as follows: For a point graphic primitive, its coordinates have three dimensions: x, y, and z. If the floating-point comparison module determines... , , If the position is determined to be inside the view frustum, then the position of the point is determined to be outside the view frustum; otherwise, the position of the point is determined to be outside the view frustum. For a line graphic primitive, it has two vertices. The positional relationship between each vertex and the view volume is determined in the same way as that of a point graphic primitive. When both vertices are inside the view volume, the position of the line is determined to be inside the view volume. When both vertices are outside the view volume, the position of the line is determined to be outside the view volume. Otherwise, the position of the line is determined to be intersecting with the view volume. For a triangular graphic primitive, it has three vertices. The positional relationship between each vertex and the view volume is determined in the same way as that of a point graphic primitive. When all three vertices are inside the view volume, the position of the triangle is determined to be inside the view volume. When all three vertices are outside the view volume, the position of the triangle is determined to be outside the view volume. Otherwise, the position of the triangle is determined to be intersecting with the scene volume; The vertex command output control module reads the judgment result from the position judgment result storage FIFO. If the judgment result reads that the current primitive is completely outside the view volume, the current primitive in the primitive vertex command storage FIFO is discarded. If the result read from the position judgment result storage FIFO is that the current primitive is completely inside the view volume, the current primitive in the primitive vertex command storage FIFO is read and sent directly to the subsequent unit. If the result read from the position judgment result storage FIFO is that the current primitive intersects with the view volume, the current primitive in the primitive vertex command storage FIFO is read and sent to the clipping core module for processing.

2. A method for implementing the circuit for rapidly determining the positional relationship between graphic primitives and view volume as described in claim 1, characterized in that: The method steps are as follows: 1) The primitive vertex command receiving module performs preliminary parsing of the input command, decomposes the vertex coordinates of each primitive, and stores them simultaneously; 2) Vertex position relationship determination module: Determines the position relationship between the coordinates of each vertex and the view volume, and then determines the position relationship between the graphics primitives and the view volume; 2.1) For a point graphic primitive, its coordinates have three dimensions: x, y, and z. If the floating-point comparison module determines... , , If the position is determined to be inside the view frustum, then the position of the point is determined to be outside the view frustum; otherwise, the position of the point is determined to be outside the view frustum. 2.2) For a line graphic primitive, it has two vertices. The positional relationship between each vertex and the view volume is determined in the same way as that of a point graphic primitive. When both vertices are inside the view volume, the position of the line is determined to be inside the view volume. When both vertices are outside the view volume, the position of the line is determined to be outside the view volume. Otherwise, the position of the line is determined to be intersecting with the view volume. 2.3) For a triangular graphic primitive, it has three vertices. The positional relationship between each vertex and the view volume is determined in the same way as that of a point graphic primitive. When all three vertices are inside the view volume, the position of the triangle is determined to be inside the view volume. When all three vertices are outside the view volume, the position of the triangle is determined to be outside the view volume. Otherwise, the position of the triangle is determined to be intersecting with the scene volume; 3) The primitive vertex command storage FIFO stores the commands written by the primitive vertex command receiving module; 4) The position determination result is stored in a FIFO file, which stores the position information of each graphic primitive and the real object written by the vertex position relationship determination module; 5) The vertex command output control module processes the completed graphics primitive commands by category.

3. The method for rapidly determining the positional relationship between graphic primitives and view frustum according to claim 2, characterized in that: The specific steps of step 5) are as follows: 5.1) Graphical primitives that are completely outside the viewport are discarded directly; 5.2) Graphical primitives that are entirely within the view frustum are directly output to subsequent units; 5.3) Graphical primitives that intersect with the view volume are sent to the clipping core module for processing.

Citation Information

Patent Citations

  • A three-dimensional cutting circuit of a graphic processor

    CN109727184A

  • Graphics system using clip bits to decide acceptance, rejection, clipping

    US6359630B1