Computer Graphics Hierarchy Merging for Real-Time Ray Tracing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The generation of hierarchies for ray tracing systems incurs significant processing costs and can adversely affect rendering performance, especially in real-time applications, due to the need to rebuild hierarchies for each frame.
Innovation Solution
Merging multiple input hierarchies to form a merged hierarchy, which reduces the number of intersection tests required and simplifies the processing by identifying and storing references between nodes of the merged hierarchy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hierarchies are generated for each frame in real-time ray tracing, then rendering can be performed, but processing costs increase significantly and rendering performance deteriorates
Solution Approach 1:
The patent applies preliminary action by pre-building hierarchies for different scene components (static objects, dynamic objects, instanced objects) separately before rendering. These pre-built hierarchies are stored and reused during real-time rendering, avoiding the need to rebuild complete hierarchies from scratch for each frame. This significantly reduces processing costs while maintaining rendering correctness.
Solution Approach 2:
The patent segments the scene into different component types (static, dynamic, instanced) and builds separate hierarchies for each segment. This allows selective updates and reuse of hierarchy portions, rather than rebuilding the entire scene hierarchy each frame. The segmentation enables efficient memory management and reduces redundant processing.
2Reliability
If complete hierarchies are rebuilt for each frame, then all objects are properly represented, but processing time increases and efficiency decreases
Solution Approach 1:
The patent performs preliminary hierarchy construction for different object types and stores them for reuse. During real-time rendering, only necessary portions of hierarchies are updated or regenerated, significantly reducing hierarchy generation time while maintaining complete scene representation accuracy.
Solution Approach 2:
The patent discards the approach of rebuilding complete hierarchies each frame and instead recovers and reuses pre-built hierarchy portions that remain valid. This selective recovery of reusable hierarchy data minimizes processing time while preserving scene accuracy.
3Adaptability or versatility
If multiple separate hierarchies are maintained for different object sets, then object-specific processing is enabled, but the number of intersection tests increases
Solution Approach 1:
The patent merges multiple separate hierarchies (static, dynamic, instanced) into a unified hierarchy structure that can be traversed in a single pass during ray tracing. This combining approach maintains the adaptability to handle different object types specifically while reducing the number of separate intersection test passes required, thereby reducing overall complexity.
4Reliability
If hierarchies are updated frequently for dynamic objects, then scene accuracy is maintained, but processing overhead increases
Solution Approach 1:
The patent discards the need to fully update hierarchies for every frame and instead recovers and reuses valid portions of pre-built hierarchies. Only the specific portions affected by dynamic changes are updated, significantly reducing processing overhead while maintaining scene accuracy.
Solution Approach 2:
The patent performs preliminary hierarchy construction for dynamic objects and stores these hierarchies for reuse. During real-time rendering, hierarchies are only updated when necessary, reducing the frequency of updates and associated processing overhead while maintaining accuracy.
Data Source
AI summary
A hierarchy is a multi-level linked structure of nodes, wherein the hierarchy represents data relating to a set of one or more items to be processed. Where there are multiple input hierarchies, it may improve the efficiency of the processing of the items to merge the input hierarchies to form a merged hierarchy. The hierarchies are merged by identifying two or more sub-hierarchies within the input hierarchies which are to be merged, and determining one or more nodes of the merged hierarchy which reference nodes of the identified sub-hierarchies. The determined nodes of the merged hierarchy are stored and indications of the references between the determined nodes of the merged hierarchy and the referenced nodes of the identified sub-hierarchies are also stored. In this way, the merged hierarchy is formed for use in processing the items.


