Rejecting Small 3D Primitives via Sub-Pixel Coverage Checks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing graphics processing technologies face inefficiencies in rendering small graphics primitives, as they consume rasterization resources without contributing to the image, leading to increased rendering time and decreased frame rates due to the need to test each edge of these primitives against every sample of a pixel, even if they do not cover any samples.
Innovation Solution
A method is introduced to reject small primitives by identifying their screen-space position and using a pixel sample map to determine if they cover any samples, processing only those that do, thereby reducing unnecessary computations during rasterization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If all primitives are rasterized regardless of size, then complete rendering coverage is achieved, but rendering time increases and frame rate decreases due to processing small primitives that do not cover any samples
Solution Approach 1:
The patent applies preliminary action by performing a pre-rasterization check to identify small primitives that do not cover any pixel samples before they undergo full rasterization processing. This advance filtering prevents wasted computational resources on primitives that would not contribute to the final image, thereby improving rendering throughput while reducing unnecessary rasterization time.
Solution Approach 2:
The patent extracts and separates the small primitive filtering operation from the main rasterization pipeline. By taking out the size-based rejection logic as a distinct preliminary step, the system eliminates harmful processing of irrelevant primitives without affecting the rendering of valid geometry, thus resolving the contradiction between complete coverage and efficient processing.
2Measurement precision
If edge equations are tested against every pixel sample, then accurate coverage determination is achieved, but computational resources are wasted on small primitives that do not cover any samples
Solution Approach 1:
The patent performs a preliminary size-based filter before the computationally intensive edge equation testing. By checking primitive dimensions against pixel sample coverage requirements in advance, the system avoids unnecessary complex computations for small primitives while maintaining accurate coverage determination for primitives that actually contribute to the image.
Solution Approach 2:
The patent applies partial action by performing only the necessary minimum check (primitive size vs. pixel coverage) rather than complete rasterization processing for all primitives. This selective approach applies full computational effort only where needed, reducing overall computation complexity while preserving measurement precision for relevant cases.
3Reliability
If small primitives are processed through full rasterization, then no primitives are missed, but frame rate decreases due to increased processing time
Solution Approach 1:
The patent implements a preliminary rejection test based on primitive size and pixel sample coverage before full rasterization. This early filtering maintains rendering completeness by ensuring that only primitives with potential sample coverage proceed to full processing, while eliminating frame rate degradation caused by processing irrelevant small primitives.
Solution Approach 2:
The patent converts the potentially harmful effect of processing wasted primitives into a benefit by using the primitive size information to identify and reject irrelevant geometry. What would normally be wasted computational effort is transformed into an efficient filtering mechanism that improves frame rate while maintaining rendering completeness.
Data Source
AI summary
A system, method, and computer program product are provided for rejecting small primitives. A three-dimensional (3D) primitive is received and a position within the primitive is identified. The primitive has a size that is less than a threshold value. Sub-pixel coverage information is read from a pixel sample map using the position. If the position coincides with a sub-pixel sample according to the sub-pixel coverage information, then the 3D primitive is processed. Otherwise, the 3D primitive is rejected.


