Spatial Index Pointer Separation for Ray Tracing Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current ray tracing techniques require significant computational power, making it difficult to render complex three-dimensional scenes quickly enough for realistic animation, especially in applications like game consoles where fast rendering is necessary.

Innovation Solution

The method involves generating a spatial index with a world root node, internal nodes for partitioned sub-volumes, and leaf nodes for unpartitioned sub-volumes containing primitive objects, allowing for efficient ray tracing by storing pointers to primitive-defining information in buffers rather than within the spatial index, enabling vertex and triangle sharing, and updating data without re-linking leaf nodes when dynamic objects change.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If ray tracing is used to render three-dimensional scenes with realism, then image realism is improved, but computational power requirements increase significantly

Engineering Contradiction:
Improveimage realismVSAvoidcomputational power requirements
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the scene representation by separating primitive data from the spatial index structure. The spatial index is divided into nodes (internal and leaf) that store only bounding volume information and pointers, while primitive data is stored separately in buffers. This segmentation reduces the computational overhead of traversing the spatial index during ray tracing operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts primitive-defining information from the spatial index nodes and stores it in separate buffers. Leaf nodes contain only pointers to primitive data in buffers rather than storing the actual primitive data. This extraction minimizes the size of the spatial index structure, reducing memory access time and computational power requirements during ray tracing.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If scene complexity increases to achieve more realistic images, then image realism is improved, but rendering speed decreases due to direct scaling in rasterization

Engineering Contradiction:
Improveimage realismVSAvoidrendering speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements a dynamic spatial index structure where leaf nodes contain pointers to primitive data in buffers rather than storing primitive data directly. This dynamic structure allows the spatial index to remain compact while accommodating complex scenes with many primitives. When scenes become more complex, the separate buffer storage allows primitives to be added without increasing the size of the spatial index nodes, maintaining rendering speed.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If all primitive information is stored within the spatial index, then data access is simplified, but storage requirements and memory usage increase

Engineering Contradiction:
Improvedata access simplicityVSAvoidstorage requirements
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent introduces pointers as intermediary elements between the spatial index and primitive data. Leaf nodes store pointers that reference primitive data in separate buffers, acting as intermediaries that connect the spatial index structure to the actual primitive information. This approach maintains ease of access by providing direct pointer references while significantly reducing storage requirements within the spatial index itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of manufacture

If the spatial index stores complete primitive data, then data manipulation is straightforward, but the size of the spatial index increases

Engineering Contradiction:
Improvedata manipulation straightforwardnessVSAvoidspatial index size
Core Design Contradiction:
Ease of manufactureVSVolume of stationary object

Solution Approach 1:

The patent extracts primitive data from the spatial index nodes and stores it in separate buffers. Internal nodes store only bounding volume information and pointers to child nodes, while leaf nodes store only pointers to primitive data in buffers. This extraction minimizes the size of the spatial index structure, allowing it to remain compact even for complex scenes with many primitives, while data manipulation remains straightforward through pointer references.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7719532B2Efficient and flexible data organization for acceleration data structure nodes
Publication Date: 2010.05.18 ACTIVISION PUBLISHING INC
  • US7719532B2 patent drawing
  • US7719532B2 patent drawing
  • US7719532B2 patent drawing

AI summary

Embodiments of the invention provide an efficient and flexible organization of data for an acceleration data structure (e.g., spatial index). In contrast to storing primitive information within a spatial index, embodiments of the invention may store pointers in the spatial index which point to or link to primitive-defining information in buffers. Storing pointers to primitive-defining information may reduce the size of the spatial index. Additionally, embodiments of the invention enable vertex and triangle sharing. Vertex and triangle sharing may reduce the amount of storage space required to define the primitives within the three-dimensional scene. Furthermore, the data organization provided by the embodiments of the invention allows for easy manipulation of the spatial index and primitive data.