Patch-Encoded Sub-Primitive Presence for Faster Ray Intersection

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 alpha-tested transparent objects.

Innovation Solution

A method of compressing and decompressing sub-primitive presence indications using a patch encoding approach, where a block of presence indications is represented by an ordered set of patches with defined states and positions, allowing for efficient determination of primitive presence during intersection testing without excessive shader program execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If sub-divided primitives are used for alpha-tested transparent objects, then rendering accuracy is improved, but the number of shader program executions increases

Engineering Contradiction:
Improverendering accuracyVSAvoidlatency
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The primitive is divided into multiple sub-primitives, and each sub-primitive's presence indication is independently compressed using patch encoding. This segmentation allows the system to maintain high rendering accuracy by tracking individual sub-primitive states while reducing overall data processing requirements through compressed representation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Presence indications for all sub-primitives are pre-compressed into a compact patch encoding format before runtime rendering. This preliminary compression of presence data eliminates the need for extensive shader program executions during actual rendering, as the compressed indications can be quickly decoded and used to determine which sub-primitives need processing.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If sub-divided primitives are used for alpha-tested transparent objects, then rendering accuracy is improved, but power consumption increases

Engineering Contradiction:
Improverendering accuracyVSAvoidpower consumption
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The presence indication data is segmented into patches that can be independently decoded and processed. This segmentation reduces the computational workload during rendering by allowing selective processing of only those patches that contain relevant presence information, thereby reducing power consumption while maintaining rendering accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The presence indication data is transformed from an uncompressed format into a compressed patch encoding format. This parameter change in data representation reduces the amount of data that needs to be processed during rendering, directly reducing power consumption while preserving the ability to accurately determine sub-primitive presence.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If compressed patch encoding is used for presence indications, then shader program executions are reduced, but data compression complexity increases

Engineering Contradiction:
ImprovelatencyVSAvoidcompression complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The presence indication data is divided into multiple patches, where each patch represents a subset of sub-primitives. This segmentation allows for efficient compression by grouping adjacent sub-primitives with similar presence states into single patches, reducing overall data size while maintaining a relatively simple compression algorithm that can be easily implemented.

Inventive Principle:
Principle #1Segmentation

4Use of energy by moving object

If compressed patch encoding is used for presence indications, then power consumption is reduced, but data structure complexity increases

Engineering Contradiction:
Improvepower consumptionVSAvoiddata structure complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

Multiple sub-primitive presence indications are merged into a single compressed patch encoding structure. By combining information about multiple sub-primitives into unified patches, the system reduces the total amount of data that needs to be processed and stored, thereby reducing power consumption while the patch structure itself provides an organized framework that manages data complexity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12573094B2Compression and decompression of sub-primitive presence indications for use in a rendering system
Publication Date: 2026.03.10 IMAGINATION TECH LTD
  • US12573094B2 patent drawing
  • US12573094B2 patent drawing
  • US12573094B2 patent drawing

AI summary

A method and a decompression unit are provided for decompressing compressed data to determine a sub-primitive presence indication for use in intersection testing in a rendering system. A block of compressed data for a block of sub-primitive presence indications is received. An indication of a sample position within the block of sub-primitive presence indications for which a presence indication is to be determined is received. Data defining an ordered set of patches which represents the presence indications in the block of sub-primitive presence indications is read from the block of compressed data. The data defining each of the patches defines a presence state of the patch and a position of the patch within the block of sub-primitive presence indications. At least two of the patches in the set of patches partially overlap with each other. For one or more of the patches, it is determined whether the sample position is within that patch. The presence indication at the sample position is determined based on results of said determining, for one or more of the patches, whether the sample position is within that patch.