Ray Tracing Visibility Stream for 3D Bin Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing techniques require significant memory and processing power for pixel rendering of 3D objects, limiting 3D graphics capabilities to powerful workstations, but advancements have made 3D graphics accelerators accessible in personal computers and embedded devices, necessitating more efficient rendering methods.

Innovation Solution

The method involves dividing a render target into bins and performing a visibility pass using ray tracing to generate a visibility stream, indicating visible primitives in each bin, followed by rasterization to render only visible primitives, thereby optimizing memory usage and processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional pixel rendering techniques are used for 3D objects, then visual content can be generated for display, but significant memory and processing power are required

Engineering Contradiction:
Improve3D graphics capabilityVSAvoidmemory and processing power
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The render target is divided into multiple bins, allowing the system to process and render only the portions of the image that contain visible primitives. This segmentation enables selective rendering that reduces overall memory and processing requirements while maintaining 3D graphics capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A visibility pass is performed before the actual rendering to determine which primitives are visible in each bin. This preliminary action generates visibility information that guides subsequent rendering operations, preventing unnecessary processing of invisible primitives and reducing total computational load.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If all primitives are rendered regardless of visibility, then complete image data is generated, but processing efficiency is reduced due to unnecessary rendering operations

Engineering Contradiction:
Improverendering efficiencyVSAvoidprocessing time for invisible primitives
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The visibility pass is performed as a preliminary action to identify visible primitives before rendering. This allows the system to skip rendering operations for invisible primitives, significantly improving processing efficiency and reducing time wasted on unnecessary rendering operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts only the necessary rendering operations by using visibility information to select which primitives should be rendered. This extraction approach removes unnecessary rendering operations for invisible primitives, optimizing processing efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If ray tracing is used to determine visibility, then accurate visibility information is obtained, but additional processing steps are required

Engineering Contradiction:
Improvevisibility information accuracyVSAvoidprocessing pipeline complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The processing pipeline is segmented into distinct passes: a visibility pass using ray tracing to determine visible primitives, and a rendering pass that processes only visible primitives. This segmentation allows accurate visibility determination while managing overall system complexity through modular processing stages.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3308359B1Rendering using ray tracing to generate a visibility stream
Publication Date: 2021.05.26 QUALCOMM INC
  • EP3308359B1 patent drawingFigure 1
  • EP3308359B1 patent drawingFigure 2
  • EP3308359B1 patent drawingFigure 3

AI summary

A method and apparatus for rendering includes dividing a render target into a plurality of bins (341). Next, a visibility pass is performed using ray tracing to generate a visibility stream such that the visibility stream indicates, for each bin of the plurality of bins, which primitives are visible in the bin (342). Then, for at least one bin of the plurality of bins, each primitive in the bin that is indicated in the visibility stream as being visible in the bin is rendered (343).