Graphics Primitive Clipping via Size Thresholds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current 3D graphics processing techniques face inefficiencies in clipping operations, leading to increased data processing and memory bandwidth requirements, particularly due to the generation of additional primitives during clipping, which can cause numerical precision issues with large primitives.

Innovation Solution

A method and apparatus for processing graphics primitives that allocate each primitive to tiles, perform clipping operations on a tile-by-tile basis, and use additional vertex data stored in a cache to reduce memory bandwidth and processing overhead, with optional clipping based on primitive size thresholds to avoid precision issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If clipping operations are performed on all primitives to ensure numerical precision, then precision issues are avoided, but processing time and computational complexity increase

Engineering Contradiction:
Improvenumerical precisionVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent changes the parameter of clipping by introducing a size threshold criterion. Primitives are clipped based on their size parameter exceeding a threshold value, rather than all primitives being clipped uniformly. This selective approach maintains numerical precision for large primitives while avoiding unnecessary clipping operations for smaller primitives, thus resolving the contradiction between precision and processing time.

Inventive Principle:
Principle #35Parameter changes

2Stability of the object's composition

If clipping operations are performed to reduce primitive size, then numerical stability improves, but the complexity of the clipping process increases

Engineering Contradiction:
Improvenumerical stabilityVSAvoidclipping process complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The patent applies local quality by making the clipping operation selective rather than universal. The decision to clip is localized to individual primitives based on their specific size parameter. This localized approach improves numerical stability only where needed (for large primitives) while avoiding the complexity of implementing clipping for all primitives, thus resolving the contradiction between stability and process complexity.

Inventive Principle:
Principle #3Local quality

3Device complexity

If guard band clipping is used to extend edge planes beyond the view frustum, then clipping complexity is reduced, but the area requiring processing increases

Engineering Contradiction:
Improveclipping complexityVSAvoidprocessing area
Core Design Contradiction:
Device complexityVSArea of stationary object

Solution Approach 1:

The patent applies partial action by performing clipping only on primitives that exceed the size threshold, rather than applying guard band clipping to all primitives. This selective clipping approach avoids the excessive processing area that would result from extending guard bands for all primitives, while still reducing clipping complexity for the subset of primitives that actually require it.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9530241B2Clipping of graphics primitives
Publication Date: 2016.12.27 ARM LTD
  • US9530241B2 patent drawing
  • US9530241B2 patent drawing
  • US9530241B2 patent drawing

AI summary

Techniques for performing clipping of graphics primitives 60 with respect to a clipping boundary 65 are described. The clipping step 10 may be performed separately for each tile of a graphics frame to be rendered, after a primitive list for the tile has been read from a primitive memory 38. Clipping may be performed only for larger primitives whose size exceeds a given threshold. Clipping of a primitive 60 to the clipping boundary 65 may be performed inexactly so that only a single clipped primitive is generated which may extend beyond the clipping boundary. A clipped primitive generated by clipping may be used for a depth function calculation of a primitive setup operation and not for an edge determination.