Rasterizer Primitive Culling for Tessellation Workload Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The significant increase in the number of primitives due to tessellation in 3D graphics processing leads to increased computational pressure on the rasterizer stage of the GPU pipeline, causing workload imbalances and resource inefficiencies.
Innovation Solution
A method to determine the type of primitives based on vertex information, removing to-be-removed primitives early in the pipeline, and processing non-to-be-removed primitives to calculate pixel attributes, thereby reducing the number of primitives that need further processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If tessellation is used to split primitives into smaller pieces, then the surface smoothness and edge refinement are improved, but the number of primitives increases significantly, causing increased computational pressure on the rasterizer stage
Solution Approach 1:
The patent extracts and removes primitives that do not intersect with the view frustum before they enter the main rendering pipeline. By identifying and eliminating these unnecessary primitives early in the pipeline, the system reduces the computational load on subsequent stages while preserving the tessellation effect for visible geometry.
Solution Approach 2:
The patent performs preliminary culling of primitives by evaluating their bounding boxes against the view frustum before full rendering processing. This preliminary action filters out invisible primitives early, preventing them from consuming resources in later high-cost stages of the rendering pipeline.
2Manufacturing precision
If the number of primitives is increased through tessellation, then the edge refinement is improved, but the workload on the rasterizer stage is multiplied
Solution Approach 1:
The patent removes primitives that fall outside the view frustum by extracting their bounding box information and comparing it against the frustum boundaries. This extraction and removal process reduces the number of primitives that proceed through the complex rasterizer stage, thereby reducing overall device complexity and workload.
Solution Approach 2:
The patent performs preliminary evaluation of primitive visibility using bounding box calculations before the primitives undergo complex rasterization. This preliminary action filters out invisible primitives early, reducing the workload on the rasterizer stage while maintaining edge refinement quality for visible geometry.
3Reliability
If all primitives are processed through the rasterizer stage, then complete rendering coverage is achieved, but resource inefficiency occurs due to processing of invisible primitives
Solution Approach 1:
The patent extracts bounding box information from primitives and removes those that do not intersect with the view frustum. This selective removal ensures that only potentially visible primitives consume rendering resources, eliminating waste while maintaining complete coverage of all visible geometry through proper frustum evaluation.
Solution Approach 2:
The patent performs preliminary visibility testing by comparing primitive bounding boxes against the view frustum before full rendering processing. This preliminary action identifies and eliminates invisible primitives early in the pipeline, reducing resource consumption while ensuring that all visible primitives receive complete rendering processing for reliable coverage.
Data Source
AI summary
The present disclosure describes a primitive processing method for a rasterizer stage, a graphic process unit, a computer-readable storage medium, and a computer program product. The method includes: acquiring a primitive and vertex information of the primitive; determining a type of the primitive according to the vertex information; removing the primitive when the type of the primitive is a to-be-removed primitive; and when the type of the primitive is a non-to-be-removed primitive, determining a pixel attribute of the primitive according to the vertex information of the primitive, wherein the pixel attribute is configured to be inputted into a pixel shader. The method can reduce the computational pressure of the graphic process unit during the rasterizer stage, and improve the performance of the GPU.


