Hierarchical Sub-Primitive Compression for Ray-Tracing Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing ray tracing systems experience latency and increased computational load due to frequent execution of shader programs to determine the presence of punch through primitives during intersection testing, which is exacerbated by the use of sub-primitives with partial transparency.
Innovation Solution
A method and system for compressing and decompressing sub-primitive presence indications using a hierarchical representation, where parent regions with uniform child states share a presence state indicator, reducing the need for child-level data and minimizing shader program executions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If sub-primitive presence indications are stored at full resolution for each child region, then measurement precision of presence states is improved, but data storage requirements and processing complexity increase
Solution Approach 1:
The patent divides the presence indication data structure into hierarchical segments: parent regions and child regions. Each parent region contains presence indications for multiple child regions, allowing the data to be organized in a tree-like structure that reduces overall complexity while maintaining precision where needed.
Solution Approach 2:
The patent introduces a hierarchical dimension to the data structure, organizing presence indications across multiple levels (parent and child regions). This dimensional transformation allows efficient compression by exploiting spatial correlations between adjacent regions without losing measurement precision.
2Reliability
If shader programs are executed frequently to determine primitive presence, then reliability of intersection testing is improved, but processing time and computational load increase
Solution Approach 1:
The patent performs preliminary classification of sub-primitives into present, absent, or partial presence categories before intersection testing. This pre-computation allows the system to skip shader program execution for absent sub-primitives and quickly identify partial presence cases, significantly reducing processing time while maintaining testing reliability.
Solution Approach 2:
The patent applies partial presence indications to subdivide primitives into present and absent regions, executing shader programs only for partial presence cases rather than all intersections. This selective execution reduces computational load while maintaining sufficient accuracy for the rendering task.
3Manufacturing precision
If the number of primitives is increased to represent complex shapes with holes, then manufacturing precision of geometric representation is improved, but device complexity and processing overhead increase
Solution Approach 1:
The patent segments complex primitives into multiple sub-primitives with associated presence indications. This segmentation allows complex shapes with holes and varying transparency to be represented using a single primitive object rather than multiple separate primitives, reducing overall device complexity while maintaining geometric precision.
Solution Approach 2:
The patent applies local quality by allowing different sub-primitives within a single primitive to have different presence states (present, absent, or partial). This enables precise local control over geometry representation for complex shapes without increasing the global primitive count, thereby maintaining manufacturing precision while reducing device complexity.
Data Source
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 is subdivided into a plurality of parent regions, each of the parent regions being subdivided into a plurality of child regions. A presence state is identified for each of the child regions based on the sub-primitive presence indications in the block of sub-primitive presence indications. A hierarchical representation of the block of sub-primitive presence indications is stored in the block of compressed data. For each of one or more parent regions whose child regions all have the same identified presence state, parent-level data is included in the hierarchical representation to represent the presence state of the parent region without child-level data for the child regions within the parent region being included in the hierarchical representation. For each of one or more parent regions whose child regions do not all have the same identified presence state, child-level data for the child regions within the parent region is included in the hierarchical representation to represent the presence states for the child regions within the parent region.


