Sub-Primitive Presence Compression for Faster Ray Tracing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing ray tracing systems experience significant latency and power consumption due to the frequent execution of shader programs to determine the presence of punch through primitives during intersection testing, which is exacerbated by the use of sub-divided primitives for complex shapes with alpha-tested transparency.

Innovation Solution

A method of compressing and decompressing sub-primitive presence indications using vector quantization techniques to reduce the data required for intersection testing, leveraging the non-random distribution of presence states among sub-primitives to achieve efficient compression and decompression, thereby minimizing the need for shader program execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If sub-divided primitives are used to represent complex shapes with alpha-tested transparency, then the ability to represent complex geometry is improved, but the number of shader program executions increases significantly

Engineering Contradiction:
Improveability to represent complex geometryVSAvoidlatency due to shader program executions
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The primitive is divided into multiple sub-primitives (e.g., sub-triangles), and each sub-primitive is assigned a presence indication (present, absent, or partially present). This segmentation allows the system to evaluate only relevant sub-primitives during ray tracing, avoiding full shader program executions for transparent or absent regions while maintaining the ability to represent complex geometries with varying transparency.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If sub-divided primitives are used to represent complex shapes with alpha-tested transparency, then the ability to represent complex geometry is improved, but power consumption increases

Engineering Contradiction:
Improveability to represent complex geometryVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

By segmenting the primitive into sub-primitives with presence indications, the system avoids executing shader programs for absent or transparent regions. Since shader program execution is a computationally intensive operation that consumes significant power, reducing the number of executions directly reduces power consumption while maintaining the ability to represent complex geometries.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If presence indications for all sub-primitives are stored in full detail, then intersection testing accuracy is improved, but data size increases

Engineering Contradiction:
Improveintersection testing accuracyVSAvoiddata size
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

Instead of uniformly storing detailed presence information for all sub-primitives, the system uses different levels of presence indications (present, absent, partially present) tailored to each sub-primitive's actual characteristics. This local differentiation allows the system to maintain high intersection testing accuracy for visible regions while using compact representations for transparent or absent regions, thereby reducing overall data size.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12548200B2Compression and decompression of sub-primitive presence indications for use in a rendering system
Publication Date: 2026.02.10 IMAGINATION TECH LTD
  • US12548200B2 patent drawing
  • US12548200B2 patent drawing
  • US12548200B2 patent drawing

AI summary

A method and a compression unit are provided for compressing, into a block of compressed data, a block of sub-primitive presence indications for use in a rendering system. The block of sub-primitive presence indications comprises a plurality of sub-blocks of sub-primitive presence indications. A plurality of candidates for combinations of presence indications are identified. For each of the sub-blocks in the block of sub-primitive presence indications: one of the candidates to be used to represent the sub-block is selected, and an index to indicate the selected candidate is stored in the block of compressed data.