Triangle Rasterization via Tile Subdivision and Parallel Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The computational costs associated with rendering high-resolution three-dimensional imagery remain significant, particularly in achieving realistic appearances, due to the computationally rigorous process of identifying pixels within projected triangles, which consumes substantial computer resources.

Innovation Solution

The techniques involve projecting triangles from a three-dimensional model space onto a two-dimensional image space, using normalized edge equations to characterize sub-tiles as wholly inside, outside, or straddling a triangle, and leveraging SIMD and MIMD processing to efficiently derive a list of pixels, allowing for parallel processing and reduced computational load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional rasterization methods are used to identify pixels within projected triangles, then rendering accuracy is maintained, but computational resources are excessively consumed

Engineering Contradiction:
Improvepixel identification accuracyVSAvoidcomputational resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The image space is divided into multiple tiles, and each tile is further subdivided into sub-tiles. This hierarchical segmentation allows the rendering system to process only relevant regions, avoiding unnecessary pixel identification computations in areas not covered by projected triangles, thus reducing computational resource consumption while maintaining accurate pixel identification where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses over-screening by testing triangle edges against tile boundaries to identify potentially overlapping tiles, then applies frustum culling to eliminate tiles that cannot contain any part of the triangle. This partial action approach processes only a subset of the image space, reducing the overall computational burden while ensuring accurate pixel identification within the relevant regions.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If high-resolution three-dimensional imagery is rendered with realistic appearances, then image quality is improved, but processing time increases significantly

Engineering Contradiction:
Improveimage qualityVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary computations to calculate triangle edge equations and determines which tiles are potentially overlapping before actual pixel identification. By pre-computing these spatial relationships and using frustum culling to eliminate irrelevant tiles, the system reduces the number of pixels that need detailed processing, thereby maintaining high image quality while significantly reducing processing time.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If the image space is divided into tiles and processed sequentially, then memory usage is reduced, but processing speed decreases

Engineering Contradiction:
Improvememory usageVSAvoidprocessing speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent divides the image space into multiple independent tiles that can be processed in parallel. Each tile is further subdivided into sub-tiles for efficient memory management. This segmentation allows the rendering system to process multiple tiles simultaneously using multi-processor architectures, reducing memory bandwidth requirements per processor while increasing overall processing speed through parallelization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces parallel processing as an additional dimension of computation by utilizing multiple processor cores to handle different tiles simultaneously. This transforms the traditionally sequential single-threaded rendering pipeline into a parallel multi-threaded system, effectively converting time-consuming sequential operations into concurrent operations that execute in parallel, thereby increasing processing speed without proportionally increasing memory usage.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9501859B2Triangle rasterization
Publication Date: 2016.11.22 ADOBE INC
  • US9501859B2 patent drawing
  • US9501859B2 patent drawing
  • US9501859B2 patent drawing

AI summary

Techniques are disclosed for deriving a list of pixels contained within a projected triangle in a way that is computationally efficient. In particular, the recursive techniques disclosed herein are particularly well-suited for implementation on modern multi-processor computer systems, and enable a list of pixels contained within a projected triangle to be derived quickly and efficiently. For example, in certain embodiments a network of projected triangles is overlaid by a plurality of tiles, which are subsequently divided into an array of sub-tiles, each of which can be processed in parallel by a multi-processor computer system. This recursive process advantageously allows three-dimensional objects to be rendered in a computationally efficient manner.