Multi-pass Rendering Screen Space Pipeline Occlusion Culling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional graphics processing techniques require redundant operations when rendering graphics scenes with occluded geometry, leading to increased power consumption and inefficiency, particularly in mobile devices where limited power resources are a concern.
Innovation Solution
A graphics subsystem with a screen space pipeline configured to perform multiple passes, utilizing a multi-pass unit that buffers graphics primitives for Z passes and subsequent color shading, allowing for efficient rendering without re-fetching data from memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If a Z pre-pass operation is performed to identify occluded pixels, then shading operations on occluded geometry are avoided, but the entire 3D scene must be rendered twice resulting in additional processing overhead and power consumption
Solution Approach 1:
The patent applies preliminary action by performing a Z pre-pass to calculate depth values for all pixels before the main shading pass. This preliminary depth calculation enables the system to identify and cull occluded pixels in advance, avoiding wasted shading operations on pixels that will not be visible in the final image. The depth buffer is populated beforehand, allowing the main pass to skip processing for occluded regions.
Solution Approach 2:
The patent extracts only the necessary depth information from the rendering process by separating the Z pre-pass (depth calculation) from the main shading pass. By extracting and storing depth values in a buffer during the pre-pass, the system can then use this extracted information to cull occluded pixels without re-processing their geometry or shading, thus avoiding redundant operations.
2Measurement precision
If vertex attribute fetch and vertex shading are performed twice for Z pre-pass and subsequent shading, then occluded geometry is properly identified, but additional processing cycles and power consumption occur
Solution Approach 1:
The patent uses copying by creating a depth buffer that stores depth values from the Z pre-pass. This depth buffer is then copied or referenced during the main shading pass to perform depth tests without re-calculating vertex attributes or re-executing vertex shading. The depth information is copied from the pre-pass results, avoiding redundant processing while maintaining accurate occlusion detection.
3Reliability
If the graphics pipeline renders the entire 3D scene twice, then occluded pixels are identified, but memory bandwidth is consumed and CPU load increases
Solution Approach 1:
The patent performs preliminary action by completing the Z pre-pass entirely before the main shading pass, including all depth calculations and buffer population. This preliminary completion allows the main pass to proceed with only read operations on the depth buffer, avoiding repeated memory writes and reducing overall memory bandwidth consumption while ensuring accurate occlusion detection.
Data Source
AI summary
A multi-pass unit interoperates with a device driver to configure a screen space pipeline to perform multiple processing passes with buffered graphics primitives. The multi-pass unit receives primitive data and state bundles from the device driver. The primitive data includes a graphics primitive and a primitive mask. The primitive mask indicates the specific passes when the graphics primitive should be processed. The state bundles include one or more state settings and a state mask. The state mask indicates the specific passes where the state settings should be applied. The primitives and state settings are interleaved. For a given pass, the multi-pass unit extracts the interleaved state settings for that pass and configures the screen space pipeline according to those state settings. The multi-pass unit also extracts the interleaved graphics primitives to be processed in that pass. Then, the multi-pass unit causes the screen space pipeline to process those graphics primitives.


