Ray Tracing Attribute Data Storage and Reference Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional ray tracing systems face high computation and memory costs when setting up and storing large numbers of rays for rendering 2-D representations of 3-D scenes, particularly in achieving high-quality rendering with complex lighting effects.

Innovation Solution

The approach involves storing attribute data for rays in memory and referencing shared attributes between rays, allowing for efficient management and storage of ray data through a processor and memory interface, enabling better integration with shader code modules and reducing the need for complete specification of each ray.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If complete attribute data is stored for each ray individually, then ray tracing accuracy and rendering quality are improved, but memory storage requirements and computation costs increase significantly

Engineering Contradiction:
Improverendering qualityVSAvoidmemory storage requirements
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The patent merges attribute data storage by creating a shared attribute pool where multiple rays can reference the same attribute data. Instead of storing complete attribute sets for each ray individually, the system stores attributes once in a shared location and uses references/pointers to link multiple rays to the same attribute data, thereby reducing redundant storage while maintaining rendering quality.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements a universal attribute storage structure that serves multiple rays simultaneously. The shared attribute pool acts as a universal resource that can be accessed by any number of rays, allowing the same attribute data to fulfill the storage needs of multiple rays without duplication, thus reducing overall memory requirements while preserving rendering accuracy.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Manufacturing precision

If a large number of rays are generated for high-resolution rendering, then rendering quality is improved, but computation and setup costs increase

Engineering Contradiction:
Improverendering qualityVSAvoidcomputation cost
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent combines the attribute data of multiple rays into a shared storage structure. When rays share common attributes (such as origin, direction, or material properties), the system stores these attributes once in the shared pool and references them from multiple rays, significantly reducing the computational overhead of attribute management and memory bandwidth requirements for high-resolution rendering.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent uses reference copying instead of data copying. Rather than duplicating attribute data for each ray, the system creates lightweight reference pointers to the shared attribute pool entries. This approach allows rapid ray generation for high-resolution rendering while minimizing computation and memory usage, as copying a reference is much cheaper than copying actual attribute data.

Inventive Principle:
Principle #26Copying

3Quantity of substance

If ray attribute data is stored in a shared memory location with references, then storage efficiency is improved, but data access complexity increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata access complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary attribute pool structure that mediates between rays and their attribute data. This shared pool acts as a centralized repository with reference counting and management logic, simplifying data access by providing a uniform interface for rays to access shared attributes while handling the complexity of data sharing, versioning, and memory management internally.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the organizational parameter of attribute storage from individual-per-ray to shared-pool-with-references. This parameter change transforms the data structure from a distributed array of complete attribute sets to a centralized pool with reference pointers, improving storage efficiency while the reference mechanism maintains simple access patterns for rays.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8797322B2Systems and methods of defining rays for ray tracing rendering
Publication Date: 2014.08.05 IMAGINATION TECH LTD
  • US8797322B2 patent drawing
  • US8797322B2 patent drawing
  • US8797322B2 patent drawing

AI summary

Some aspects pertain to ray data storage for ray tracing rendering. Attribute data for a first ray can be stored. To define a second ray, data defining such can comprise a reference to the first ray (in one example) and attribute source information indicative of shared attributes between the first and second rays. The attribute source information can be shared among many rays, and can be selected based on ray type. Definition data for unshared attributes can be explicit with the second ray. A plurality of rays can reference one ray for shared attribute data. Referencing rays can be counted and decremented as referencing rays complete. Shared attributes can be indicated with masks. Interface modules can service ray data read and write requests made by shaders, and shaders can explicitly reference attributes of rays, without using such interfacing modules. Data structures can be used as attribute sources without being associated with particular rays, and can be defined and selected as attribute data sources based on ray type.