Ray Tracing Self-Intersection Avoidance via Epsilon Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ray tracing systems face inaccuracies and rendering errors due to limited precision calculations, leading to self-intersection issues where child rays incorrectly intersect with the same primitive or miss intersections, causing visual artifacts like gaps in objects.

Innovation Solution

The method involves characterizing the angle between child rays and surface normals, categorizing intersections as valid or invalid based on these angles, and using dot products and epsilon checks to determine intersection validity, with an API for shaders to emit child rays and modify scene descriptions for improved accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If floating point representation is used for intersection points, then computation efficiency is improved, but precision is reduced leading to self-intersection errors

Engineering Contradiction:
Improvecomputation efficiencyVSAvoidintersection point precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

An epsilon value is introduced as an intermediary parameter to mediate between the floating point representation and the geometric surface. This epsilon defines a tolerance zone around the surface, allowing the system to accept intersections within this tolerance while rejecting false self-intersections, thus resolving the precision-efficiency contradiction without requiring higher precision arithmetic

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the parameter used for intersection validation by introducing a distance parameter (epsilon) rather than relying solely on the exact floating point coordinates. By evaluating whether the distance from the intersection point to the surface is within epsilon, the system achieves robust self-intersection detection while maintaining computational efficiency

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If heuristic tests are used to detect self-intersections, then device complexity is reduced, but reliability is worsened due to false positives and negatives

Engineering Contradiction:
Improvetest complexityVSAvoidintersection detection reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent replaces complex geometric heuristic tests with a simpler distance-based validation mechanism. Instead of performing vertex comparisons and angle calculations, the system uses a straightforward distance check against the surface using the epsilon parameter, reducing computational complexity while improving reliability through consistent geometric validation

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Manufacturing precision

If higher precision number representation is used, then manufacturing precision is improved, but data requirements increase

Engineering Contradiction:
Improveintersection point precisionVSAvoiddata requirements
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The system uses a disposable epsilon parameter that provides precision control without requiring high-precision representation of all geometric data. The epsilon value serves as a temporary tolerance threshold during intersection validation, allowing standard floating point precision to be used throughout while achieving reliable self-intersection detection

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS8441482B2Systems and methods for self-intersection avoidance in ray tracing
Publication Date: 2013.05.14 IMAGINATION TECH LTD
  • US8441482B2 patent drawing
  • US8441482B2 patent drawing
  • US8441482B2 patent drawing

AI summary

Aspects include systems, methods, and media for implementing methods relating to detection of invalid intersections during ray tracing. Invalid intersections can arise from imprecision in computer-based number representation, causing ray origins to be located inappropriately. In some aspects, a ray can be associated with information relating to an expected angle between the ray's direction and a normal for a to-be-identified primitive intersected by that ray. If the angle between the ray's direction and the normal of an intersected primitive is within expectations, then that information can be used in predicting whether the intersection is valid. Such expectation information can be presented as a single bit determined by a shader performing a dot product of the ray and a normal of a primitive intersected by a parent ray, or can be obtained as a by-product of ray/primitive intersection testing. Such information also can be based on whether the shader is emitting to have reflection or refraction type ray behavior.