Virtual Coverage Anti-Aliasing Shader for Reduced Memory Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current anti-aliasing techniques in computer graphics, such as supersampling and multisampling, require increased computing resources and complexity as the number of samples per pixel increases, leading to higher costs and complexity.

Innovation Solution

The implementation of a virtual coverage anti-aliasing system that uses both real and virtual sample locations, allowing for efficient generation and utilization of coverage information to reduce the need for additional computing resources by modifying coverage data to simulate real sample coverage without actual real sample updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If the number of samples per pixel is increased to improve anti-aliasing quality, then the quality of anti-aliasing is improved, but more computing resources and memory are needed

Engineering Contradiction:
Improveanti-aliasing qualityVSAvoidcomputing resources and memory
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent divides samples into two distinct types: real samples and virtual samples. Real samples are actual sampled values stored in the framebuffer, while virtual samples are derived through interpolation from real samples. This segmentation allows the system to achieve high anti-aliasing quality using fewer real samples, thereby reducing memory requirements and computing resources while maintaining or improving anti-aliasing performance.

Inventive Principle:
Principle #1Segmentation

2Manufacturing precision

If the number of samples per pixel is increased to reduce visual artifacts, then the quality of anti-aliasing is improved, but the cost and complexity of graphics systems increase

Engineering Contradiction:
Improveanti-aliasing qualityVSAvoidgraphics system complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent introduces virtual samples as an intermediary between real samples and the final anti-aliased image. Virtual samples are generated through interpolation processes that use real samples as reference points, allowing the system to achieve smooth anti-aliasing effects without requiring a proportional increase in real samples. This intermediary approach reduces the burden on graphics system hardware while maintaining high image quality.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Manufacturing precision

If more sample data is generated and stored to improve anti-aliasing, then the quality of anti-aliasing is improved, but data storage and bandwidth requirements increase

Engineering Contradiction:
Improveanti-aliasing qualityVSAvoiddata storage and bandwidth
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The patent creates virtual samples that are derived copies or interpolations of real samples. Instead of storing multiple independent real samples for each pixel, the system stores a smaller set of real samples and generates additional virtual sample values through interpolation algorithms. This copying approach significantly reduces the quantity of data that must be stored and transmitted while maintaining the visual quality benefits of higher sampling densities.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7876332B1Shader that conditionally updates a framebuffer in a computer graphics system
Publication Date: 2011.01.25 NVIDIA CORP
  • US7876332B1 patent drawing
  • US7876332B1 patent drawing
  • US7876332B1 patent drawing

AI summary

A computer-implemented graphics system that includes a rasterizer and a shader has a mode of operation in which primitive coverage information is generated for real sample locations and virtual sample locations for use in anti-aliasing. An individual pixel includes a single real sample location and at least one virtual sample location. In some instances, a primitive may cover only virtual sample locations and does not cover a real sample location. These instances can be identified in the coverage information sent from the rasterizer to the shader, so that the shader can determine whether or not it can write color information, depth information and/or stencil information for the real sample location to a framebuffer.