Anti-aliased Geometry Rendering via Jittered Alpha Blending

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing unit (GPU) techniques for anti-aliasing, such as super-sampling and jittering, consume extensive memory and resources, limiting the number of samples that can be used for smooth anti-aliased output, which can result in jagged edges in rendered images.

Innovation Solution

A method where the number of samples (N) for anti-aliasing is determined, allowing objects to be jittered and translated in space and depth, with fractional alpha values set inversely proportional to N, and varied across samples, enabling rendering directly to a screen buffer at display resolution, reducing memory usage and improving smoothness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If super-sampling or jittering techniques are used for anti-aliasing, then anti-aliasing quality is improved, but GPU memory consumption increases

Engineering Contradiction:
Improveanti-aliasing qualityVSAvoidGPU memory consumption
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The patent combines multiple anti-aliasing operations into a single rendering pass by accumulating jittered samples directly in the screen buffer using additive blending, eliminating the need for separate off-screen buffers for each sample

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent extracts only the essential anti-aliasing computation from the traditional multi-buffer approach, performing jittering and accumulation directly in the final display buffer rather than maintaining separate sample buffers

Inventive Principle:
Principle #2Taking out (Extraction)

2Manufacturing precision

If the number of samples N is increased for better anti-aliasing, then edge smoothness is improved, but memory and resource requirements increase

Engineering Contradiction:
Improveedge smoothnessVSAvoidmemory and resource requirements
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

Multiple sample contributions are merged into a single buffer through additive blending, allowing high sample counts without proportional increases in memory allocation or processing complexity

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent changes the rendering approach from storing discrete sample values to accumulating fractional color contributions, allowing flexible sample counts without being constrained by buffer size requirements

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If traditional jittering with multiple buffers is used, then anti-aliasing is achieved, but bandwidth and processing overhead increase

Engineering Contradiction:
Improveanti-aliasing effectVSAvoidbandwidth and processing overhead
Core Design Contradiction:
Manufacturing precisionVSLoss of energy

Solution Approach 1:

The patent eliminates the intermediate buffer transfer step by performing all jittering and accumulation operations directly in the screen buffer, removing unnecessary memory bandwidth consumption

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The screen buffer serves dual purposes as both the final display output and the accumulation target for anti-aliasing samples, eliminating the need for separate off-screen buffers and reducing overall system complexity

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8063914B1Rendering antialiased geometry to an image buffer using jittering
Publication Date: 2011.11.22 ADOBE INC
  • US8063914B1 patent drawing
  • US8063914B1 patent drawing
  • US8063914B1 patent drawing

AI summary

Anti-aliased output based on a scene comprising a plurality of objects may be generated. In one embodiment, a number of samples for an anti-aliasing operation is determined. For each of the samples: each of the objects may be translated in space according to jitter values; the objects may be multiplied by a fractional alpha value for the respective sample; a fractional alpha value stored in a buffer may be modified by a transparency value for each transparent object; and the objects may be rendered to the buffer by blending the objects with existing contents of the buffer. The fractional alpha values may vary from sample to sample. In one embodiment, the plurality of objects comprises one or more opaque objects and one or more transparent objects. In one embodiment, the objects may be rendered directly to a screen buffer.