Hidden Surface Removal via Early and Late Culling Tests
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graphics processing systems face inefficiencies due to redundant rendering operations caused by processing primitives sequentially, leading to increased overdraw and reduced performance, especially as render outputs become larger and more complex, and existing hidden surface removal techniques suffer from delays and inefficiencies.
Innovation Solution
A graphics processing pipeline that includes both early and late culling tests, with state information controlling when to perform culling operations and update culling test data buffers, allowing for more efficient hidden surface removal by potentially performing early culling on fragments and reducing dependencies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If primitives are processed sequentially in traditional graphics processing systems, then the rendering process can be completed, but redundant rendering operations occur leading to increased overdraw and reduced performance
Solution Approach 1:
The patent performs preliminary hidden surface removal by executing depth tests and determining visible surfaces before the main rendering process. The system identifies and marks hidden fragments early in the pipeline, preventing them from undergoing subsequent expensive rendering operations such as fragment shading and blending, thus eliminating redundant processing while maintaining rendering completeness
2Loss of energy
If early hidden surface removal is performed to reduce overdraw, then redundant rendering operations are reduced, but processing delays occur due to dependencies between fragments
Solution Approach 1:
The patent segments the hidden surface removal process into distinct pipeline stages: depth pre-pass for initial hidden surface identification, fragment generation with visibility markers, and main rendering with conditional processing. This segmentation allows different fragments to be processed independently based on their visibility status, reducing processing delays caused by inter-fragment dependencies while maintaining effective overdraw reduction
3Loss of energy
If primitives are sorted in front-to-back order to reduce overdraw, then redundant rendering is minimized, but other graphics processing requirements such as coherent texture access and minimized API calls are compromised
Solution Approach 1:
The patent introduces an intermediary depth buffer and visibility determination stage that acts as a mediator between primitive ordering and rendering. This intermediary structure allows primitives to be processed in any order while the depth buffer systematically tracks visible surfaces, eliminating the need for front-to-back sorting while maintaining overdraw reduction and preserving texture access coherence requirements
Data Source
AI summary
A graphics processing pipeline includes a rasteriser, an early culling tester, a renderer, a late culling tester, and a culling test data buffer that stores data values for use by the early and late culling testers. The testing of fragments by the early and late culling testers is controlled in accordance with a first set of state information indicative of when a culling test operation to be used to determine whether to cull the fragments is to be performed, and a second set of state information indicative of when to determine whether to update the culling test data buffer with data for the fragments based on a culling test operation, allocated to the fragments.


