Ray Tracing Primitive Intersection Edge Orientation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Inaccuracies in floating point calculations for ray intersection testing in ray tracing systems lead to visual artifacts and inaccuracies in representing intersection points, particularly when dealing with complex scenes and shared edges between primitives.

Innovation Solution

Establishing a scene-wide convention for consistently orienting edges during intersection testing by determining vertex precedence based on coordinate values, ensuring that edges are tested in the same orientation each time, thereby reducing inaccuracies and visual anomalies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If floating point calculations are used for ray intersection testing, then computational speed is improved, but accuracy of intersection points deteriorates leading to visual artifacts

Engineering Contradiction:
Improvecomputational speedVSAvoidaccuracy of intersection points
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The patent applies preliminary action by establishing a scene-wide convention for consistently orienting edges during intersection testing before the actual ray tracing occurs. By determining vertex precedence based on coordinate values in advance and maintaining consistent edge orientation throughout the rendering process, the system prevents floating point inaccuracies from causing visual artifacts while preserving computational efficiency.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If edges are tested without consistent orientation convention, then processing simplicity is improved, but reliability of intersection testing deteriorates due to inaccuracies

Engineering Contradiction:
Improveprocessing simplicityVSAvoidreliability of intersection testing
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent changes the parameter of edge orientation by establishing a consistent convention where edges are oriented based on vertex precedence determined from coordinate values. This parameter change ensures that edges sharing the same geometric line are tested in the same orientation throughout the scene, improving reliability of intersection testing without significantly complicating the processing.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If scene-wide edge orientation convention is established, then measurement precision of intersection points is improved, but device complexity increases

Engineering Contradiction:
Improveprecision of intersection pointsVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies local quality by implementing edge orientation conventions at the local level of individual edges and vertices rather than requiring complex global scene transformations. Each edge's orientation is determined by comparing coordinate values of its endpoint vertices, allowing precise intersection testing through simple local comparisons without introducing significant system-wide complexity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8988433B2Systems and methods for primitive intersection in ray tracing
Publication Date: 2015.03.24 IMAGINATION TECH LTD
  • US8988433B2 patent drawing
  • US8988433B2 patent drawing
  • US8988433B2 patent drawing

AI summary

Aspects include systems, methods, and media for implementing methods relating to increasing consistency of results during intersection testing. In an example, vertexes define edges of primitives composing a scene (e.g., triangles defining a mesh for a surface of an object in a 3-D scene). An edge can be shared between two primitives. Intersection testing algorithms can use tests involving edges to determine whether or not the ray intersects a primitive defined by those edges. In one approach, a precedence among the vertexes defining a particular edge is enforced for such intersection testing. The precedence causes an intersection tester to always test a given edge in the same orientation, regardless of which primitive defined (at least in part) by that edge is being intersection tested.