BVH Position Buffer Reduces Raytracing Data Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing raytracing methods require significant computational resources and data storage due to the complexity of bounding volume hierarchies (BVHs) when used in conjunction with vertex shaders, leading to inefficiencies in image rendering processes.

Innovation Solution

A modified image rendering process that utilizes a BVH pos buffer to store position information in a tree format, allowing the fetch shader to transform and provide data to the vertex shader, reducing the need for redundant data storage and enabling efficient vertex shading operations without modifying the vertex shader itself.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a bounding volume hierarchy (BVH) is used to represent groups of objects for raytracing, then the number of intersection tests is reduced and rendering efficiency is improved, but the amount of data storage and navigation requirements increase substantially

Engineering Contradiction:
Improverendering efficiencyVSAvoiddata storage requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent combines the BVH data structure with the vertex buffer into a unified structure. The BVH is stored within the vertex buffer memory, eliminating the need for separate BVH storage. This merging reduces the total data storage requirements while maintaining the rendering efficiency benefits of BVH acceleration structures.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The vertex buffer is designed to serve multiple functions: it stores both the geometric data for rendering and the BVH acceleration structure data. This multi-functional approach eliminates redundant data storage, as the same memory space serves dual purposes, thereby reducing overall data requirements while maintaining rendering performance.

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

2Manufacturing precision

If raytracing is implemented to achieve high visual realism, then image quality is improved, but computational intensity and processing time increase

Engineering Contradiction:
Improveimage qualityVSAvoidcomputational intensity
Core Design Contradiction:
Manufacturing precisionVSPower

Solution Approach 1:

The BVH acceleration structure is pre-computed and stored within the vertex buffer before rendering begins. This preliminary action allows the raytracing process to quickly navigate the pre-organized hierarchical structure, significantly reducing the computational intensity during actual rendering while maintaining high image quality through accurate ray-object intersection testing.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If traditional vertex buffer and index buffer structures are used, then data organization is simple, but redundant data storage increases

Engineering Contradiction:
Improvedata organization simplicityVSAvoidredundant data storage
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent merges the BVH structure with the vertex buffer, eliminating redundant data storage. Instead of maintaining separate BVH and vertex buffer structures, the BVH is integrated into the vertex buffer memory space, reducing overall data storage requirements while maintaining straightforward data organization that can be accessed efficiently during rendering.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP3876205B1Image generation system and method
Publication Date: 2024.11.27 SONY INTERACTIVE ENTERTAINMENT LLC
  • EP3876205B1 patent drawingFigure 1
  • EP3876205B1 patent drawingFigure 2~3
  • EP3876205B1 patent drawingFigure 4~5

AI summary

An image generation system comprising a bounding volume hierarchy, BVH, storage unit operable to store a BVH comprising a hierarchical structure of a plurality of triangles describing a virtual scene, a BVH position buffer operable to store data for identifying the location of one or more triangles within the BVH, and a fetch shader operable to identify vertex indices for use in rendering images, to obtain one or more triangles within the BVH corresponding to those vertex indices, and to provide vertex data corresponding to those triangles to a vertex shader operable to perform a vertex shading process.