Graphics Processing Region Segmentation and Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional tile-based graphics processing systems require an initial processing pass to sort all geometry data into regions, leading to inefficient memory usage and delayed rendering, as all primitive data must be processed upfront before rendering can commence.
Innovation Solution
The system divides the render output into smaller regions, storing geometry data for each region separately in a compressed form, allowing for independent processing and rendering of primitives without waiting for the entire data set to be processed, and implementing a 'partially deferred' rendering approach.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all primitive data is processed upfront in traditional tile-based rendering, then complete geometry data is available for rendering, but memory usage increases and rendering is delayed
Solution Approach 1:
The patent segments the render output into multiple independent regions and processes primitives on a per-region basis. Instead of requiring all primitive data to be processed upfront, the system can process and render individual regions independently as their data becomes available, eliminating the need to wait for complete geometry processing before starting rendering operations.
Solution Approach 2:
The patent performs preliminary sorting of primitives into region-specific data structures during the initial pass, but defers the actual rendering execution. By organizing data by region in advance and enabling independent region processing, the system prepares the groundwork for early rendering without requiring complete processing of all primitive data beforehand.
2Reliability
If all primitive data is stored in memory for complete rendering, then all geometry information is available, but memory requirements increase
Solution Approach 1:
The patent divides the memory storage requirement into region-specific data structures rather than requiring a single large memory space for all primitives. Each region maintains only the primitive data relevant to that region, allowing the system to manage memory efficiently by allocating space proportional to the actual data needs of each region rather than the total data set.
Solution Approach 2:
The patent extracts only the necessary primitive data for each specific region from the complete set of all primitives. Instead of storing and managing all primitive data in memory simultaneously, the system extracts and stores only the subset of data required for each region, reducing overall memory requirements while maintaining data availability for rendering.
3Measurement precision
If traditional tile-based rendering processes all geometry before rendering, then accurate region sorting is achieved, but processing efficiency decreases
Solution Approach 1:
The patent segments the processing workflow into an initial sorting pass followed by independent region rendering passes. The initial pass accurately sorts primitives into region data structures with precise spatial information, then each region can be processed and rendered independently without waiting for other regions, improving overall processing efficiency while maintaining sorting accuracy.
Solution Approach 2:
The patent performs the computationally intensive sorting operation in advance during the initial pass, organizing primitives into region-specific data structures with accurate spatial information. This preliminary organization enables subsequent rendering passes to proceed efficiently without repeating the sorting operation, as each region can be processed independently using the pre-organized data.
Data Source
AI summary
When processing graphics primitives in a graphics processing system, the render output is divided into a plurality of regions for rendering, each region comprising a respective area of the render output. It is determined for which of the plurality of regions of the render output a primitive should be rendered for. For each region of the render output it is determined a primitive should be rendered for, geometry data for the primitive is stored in memory in a respective data structure for the region in a compressed form, such that the geometry data for the primitive to be rendered is stored in a compressed form, in a respective, different data structure for each different region of the render output it is determined the primitive should be rendered for.


