Voxel Contained Regions for Early Ray-Object Intersection Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing ray tracing systems face inefficiencies in determining intersections with objects, particularly for non-closed objects, leading to excessive computational effort and resource waste due to unnecessary intersection tests, especially in parallel and breadth-first traversal algorithms.
Innovation Solution
The method involves generating contained regions within objects by partitioning volumes into voxels, categorizing boundary voxels, determining occlusion utility metrics, and selecting candidate voxels to expand into contained regions, allowing early intersection determination with objects without traversing to leaf nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional ray tracing systems traverse acceleration structures to determine object intersections, then intersection accuracy is maintained, but computational effort and resource consumption increase significantly
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing occlusion information in occlusion maps before ray tracing execution. These maps contain pre-computed data about which regions are occluded by objects, allowing the system to quickly determine whether intersection tests are necessary without traversing the entire acceleration structure. This pre-computation enables early culling of rays that cannot possibly intersect objects, significantly reducing computational effort while maintaining intersection detection accuracy.
Solution Approach 2:
The patent introduces occlusion maps as an intermediary data structure between the scene geometry and the ray tracing algorithm. These maps serve as a mediator that provides quick lookup information about occlusion status, avoiding the need for complex acceleration structure traversal. The occlusion maps translate spatial occlusion relationships into a format that can be efficiently queried during ray tracing, thereby improving computational efficiency without sacrificing intersection detection precision.
2Productivity
If parallel and breadth-first traversal algorithms are used to speed up ray tracing, then processing throughput increases, but unnecessary intersection tests are performed on occluded objects
Solution Approach 1:
The patent applies preliminary action by pre-computing occlusion information and storing it in occlusion maps before parallel ray tracing execution. This allows each processing unit in the parallel algorithm to independently query occlusion status without needing to coordinate or traverse acceleration structures, enabling efficient early culling of rays that hit occluded regions. This pre-computation eliminates wasted computational resources on occluded objects while maintaining high processing throughput through parallel execution.
Solution Approach 2:
The patent enables self-service by making occlusion information self-contained in occlusion maps that can be independently queried by each parallel processing unit. Each ray processing thread can autonomously determine whether to continue or terminate based on local occlusion map data without requiring communication or coordination with other threads or central acceleration structure traversal, thereby eliminating wasted computations on occluded objects while maintaining parallel processing efficiency.
3Reliability
If intersection tests are performed for all objects in the scene, then complete scene coverage is achieved, but resource consumption increases due to testing occluded objects
Solution Approach 1:
The patent applies preliminary action by pre-computing occlusion relationships and storing them in occlusion maps before ray tracing. This allows the system to reliably determine which objects are occluded in advance, enabling early termination of ray tracing for those objects. The pre-computed occlusion information ensures that no occluded objects are unnecessarily tested, reducing resource consumption while maintaining complete and accurate scene coverage for all visible objects.
Solution Approach 2:
The patent extracts occlusion information from the complex scene geometry and separates it into standalone occlusion maps. This extraction allows the ray tracing system to quickly query occlusion status without processing the full scene data structure, thereby eliminating wasted resource consumption on occluded objects while maintaining reliable and complete coverage of all visible scene elements.
Data Source
Figure 1
Figure 2a~2b
Figure 3
AI summary
The present disclosure is directed to methods and systems for facilitating intersection testing. There is provided a method of generating a contained region for use in a ray tracing system, wherein the contained region is arranged to facilitate determining whether a ray intersects an object of a scene, wherein the object is contained within one or more finite bounding regions which form part of an object partitioning hierarchy, and wherein the object is a contiguous surface. The method comprises: partitioning the volume inside the one or more finite bounding regions into a plurality of voxels; categorising the plurality of voxels, wherein the categorisation comprises identifying a subset of boundary voxels that lie within extents of a geometry defined by the object and which intersect with the object's contiguous surface; determining an occlusion utility metric for each of the boundary voxels, wherein the occlusion utility metric comprises a component quantifying at least a maximum number of boundary voxels lying in a contiguous chain in a single dimension that intersect the contiguous surface of the object, in which the boundary voxel is a member of the chain; in dependence on the occlusion utility metric, selecting a boundary voxel, from the subset of boundary voxels, to be a candidate voxel for transformation into a contained region; expanding a volume of the candidate voxel through at least one dimension to obtain an expanded voxel, wherein the expanded voxel is contained within, and smaller than, the extents of the geometry defined by the object; allocating the expanded voxel as a contained region, wherein the contained region is arranged to facilitate determining whether a ray intersects the object in dependence on determining that the ray intersects the contained region.