Bounding Volume Splitting for Ray Tracing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for splitting bounding volumes of primitives in graphics processing fail to reliably improve ray tracing performance and often increase memory usage unpredictably, leading to decreased performance in some scenes.

Innovation Solution

The method involves splitting bounding volumes of primitives based on pre-determined spatial split planes aligned with the x, y, or z axes, which are used to construct a hierarchical tree data structure, minimizing node overlap and optimizing memory usage by bounding the number of splits performed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If bounding volumes are split based on surface area or volume thresholds, then the number of splits can be controlled, but ray tracing performance does not reliably improve and may decrease in some scenes

Engineering Contradiction:
Improvenumber of splitsVSAvoidray tracing performance
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent changes the splitting criterion from surface area or volume thresholds to alignment with pre-determined spatial split planes. This parameter change ensures that splits occur at meaningful spatial boundaries that correspond to the hierarchical tree structure, reliably improving ray tracing performance by minimizing node overlap regardless of the specific scene geometry.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent performs preliminary determination of spatial split planes before executing the bounding volume splits. By pre-establishing the split planes based on the hierarchical tree structure, the method ensures that subsequent splits align with the intended spatial partitioning, guaranteeing performance improvement without requiring scene-specific threshold tuning.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If bounding boxes are split to improve ray tracing performance, then performance may improve in some scenes, but the amount of memory needed to store the generated data becomes difficult to predict

Engineering Contradiction:
Improveray tracing performanceVSAvoidmemory usage prediction
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes from threshold-based splitting (where the number of splits varies unpredictably) to plane-based splitting with a bounded maximum number of splits. This parameter change allows memory allocation to be predicted based on the known maximum splits, while still achieving reliable performance improvement through alignment with spatial partitioning planes.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If conventional splitting techniques are used, then the process is simple to implement, but ray tracing performance decreases in some scenes

Engineering Contradiction:
Improveimplementation simplicityVSAvoidray tracing performance
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent performs preliminary determination of spatial split planes before executing the bounding volume splits. This preliminary action maintains implementation simplicity by providing a clear, deterministic procedure, while simultaneously ensuring reliable performance improvement by aligning splits with the hierarchical tree structure's spatial partitioning.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9547932B2Splitting bounding volumes of primitives
Publication Date: 2017.01.17 NVIDIA CORP
  • US9547932B2 patent drawing
  • US9547932B2 patent drawing
  • US9547932B2 patent drawing

AI summary

A system, method, and computer program product are provided for splitting primitives. A plurality of primitives is received for a scene and a pre-determined plane that intersects the scene is identified. Bounding volumes of the plurality of primitives that are intersected by the pre-determined plane are split, where a bounding volume that encloses each intersected primitive of the plurality of primitives is split into a first bounding volume and a second bounding volume at an intersection of the bounding volume and the pre-determined plane.