Conservative Rasterization Error Term for Pixel Coverage Precision

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graphics processing pipelines face accuracy issues during rasterization, particularly when rendering three-dimensional objects at different resolutions, leading to inconsistent coverage results and inefficient memory allocation due to 'snapping' of primitives to a grid, resulting in over- or under-allocation of frame buffer memory.

Innovation Solution

The implementation of conservative rasterization using an error term, where edge equations are modified by an error term to enlarge primitives, ensuring accurate identification of pixels intersecting the primitives across varying pixel resolutions, thereby compensating for precision discrepancies and snapping inconsistencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If fixed point rasterization calculations are performed with fixed fractional-pixel precision, then computation speed is improved, but manufacturing precision deteriorates due to snapping to a grid

Engineering Contradiction:
Improvecomputation speedVSAvoidrasterization precision
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by pre-calculating an error term based on the primitive geometry and resolution parameters before the actual rasterization process. This error term is then added to the fixed-point rasterization results to compensate for the snapping inaccuracies, thereby maintaining high precision without sacrificing computation speed during the main rendering pipeline.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If low resolution rasterization is performed first to determine coverage, then productivity is improved, but manufacturing precision deteriorates due to coarser grid snapping

Engineering Contradiction:
Improvecoverage determination efficiencyVSAvoidcoverage alignment accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent implements feedback by using the error term calculated from high-resolution reference data to correct the low-resolution rasterization results. The error term captures the discrepancy between coarse and fine grid alignments, and this information is fed back into the low-resolution process to adjust pixel coverage determination, ensuring accurate memory allocation decisions.

Inventive Principle:
Principle #23Feedback

3Device complexity

If primitives are snapped to a grid for efficient processing, then device complexity is reduced, but measurement precision deteriorates due to alignment errors at different resolutions

Engineering Contradiction:
Improveprocessing simplicityVSAvoidprimitive coverage measurement accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent applies parameter changes by dynamically adjusting the error term based on the specific primitive geometry, resolution level, and grid alignment characteristics. Rather than using a fixed correction value, the error term is computed as a function of these parameters, allowing the system to maintain simple fixed-point processing while achieving high precision through parameter-dependent correction.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9633469B2Conservative rasterization of primitives using an error term
Publication Date: 2017.04.25 NVIDIA CORP
  • US9633469B2 patent drawing
  • US9633469B2 patent drawing
  • US9633469B2 patent drawing

AI summary

A system, method, and computer program product are provided for conservative rasterization of primitives using an error term. In use, an edge equation is determined for each edge of a primitive, the edge equation having coefficients defining the edge of the primitive. Each edge of the primitive is shifted to enlarge the primitive by modifying coefficients of the edge equation defining the edge by an error term that is a predetermined amount. Pixels that intersect the primitive are then determined using the enlarged primitive.