Soft Rasterizer Hierarchical Coverage Test for Triangle Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing soft rasterizers have low performance when processing multiple triangles and take a long time to directly rasterize a triangle to a two-dimensional image, necessitating an efficient solution for improving rasterizing efficiency.
Innovation Solution
A method involving a computer device that performs a first coverage test on multiple triangles and blocks, followed by a second coverage test on intersecting triangle clusters, to efficiently render triangles to pixels, utilizing a hierarchical rasterizing process and parallel processing through thread blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a soft rasterizer directly rasterizes multiple triangles through multiple threads, then it avoids relying on third-party libraries, but it has low performance and takes a lot of time
Solution Approach 1:
The patent segments the rasterizing process into two distinct stages: a first coverage test that identifies triangle-block intersections, and a second coverage test that performs detailed pixel rendering. This segmentation allows the system to quickly eliminate non-intersecting triangles in the first stage, reducing the computational burden on the second stage and improving overall rasterizing efficiency while maintaining soft rasterizer independence.
2Adaptability or versatility
If a soft rasterizer processes multiple triangles through multiple threads, then it can handle complex three-dimensional models, but it has low performance for processing multiple triangles
Solution Approach 1:
The patent divides the processing of multiple triangles into two phases: first, a coverage test that groups triangles by their intersecting blocks, and second, a targeted rendering phase that processes only the triangles identified in the first phase. This segmentation enables efficient parallel processing of multiple triangles while reducing redundant computations, thereby improving processing speed without sacrificing the ability to handle complex models.
Solution Approach 2:
The first coverage test serves as a preliminary action that pre-processes and organizes triangle data before the actual rendering. By performing this preliminary classification and identification of intersecting triangles, the system prepares the data in an optimized structure that accelerates the subsequent rendering phase, thus improving overall processing speed for multiple triangles.
3Manufacturing precision
If a soft rasterizer directly rasterizes a triangle to a two-dimensional image, then it produces the final rendering output, but it takes a lot of time
Solution Approach 1:
The patent segments the rasterizing process into a first coverage test for intersection detection and a second coverage test for detailed pixel rendering. This segmentation allows the system to quickly identify which triangles intersect with which blocks, reducing the time spent on actual pixel rendering to only those triangles that need it, thereby reducing overall rasterizing time while maintaining rendering accuracy.
Solution Approach 2:
The patent extracts and separates the intersection detection function into a distinct first coverage test, removing it from the main rendering pipeline. This extraction allows the system to perform intersection testing independently and efficiently, isolating the time-consuming pixel rendering operation to only the necessary triangles, thus reducing total rasterizing time without compromising accuracy.
Data Source
AI summary
This application discloses a soft rasterizing method and apparatus, a device, a medium, and a program product, belonging to the field of computer technologies. The method includes: obtaining primitive data of a plurality of triangles of a three-dimensional model in a three-dimensional space; performing a first coverage test on the plurality of triangles and a plurality of first blocks of a camera viewport through n thread blocks to obtain first data corresponding to the plurality of first blocks respectively, the first data including primitive data of a first triangle cluster that intersects with the first blocks; performing a second coverage test on a first triangle cluster of a first target block and a plurality of second blocks through n thread blocks based on the first data to obtain second data corresponding to the plurality of second blocks respectively, the second data including primitive data of a second triangle cluster that intersects with the second blocks; and rendering triangles in the second triangle cluster of a second target block to pixels in the second target block. The method improves rasterizing efficiency.


