Division-Free Ray Triangle Intersection via Coordinate Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ray tracing operations in graphics rendering are computationally expensive and require floating-point division for straightforward implementations of ray-triangle intersection tests, which is not feasible without a division unit in hardware acceleration units.

Innovation Solution

The technique scales the entire coordinate system by the magnitude of the ray direction in the denominator axis, removing the need for division by returning the intersection time as separate numerator and denominator, allowing division-free hardware implementation of ray-triangle intersection tests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a straightforward implementation of ray-triangle intersection test is used, then measurement precision is improved, but device complexity increases due to requirement of floating point division unit

Engineering Contradiction:
Improveintersection test accuracyVSAvoidhardware unit complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent changes the mathematical parameters of the ray-triangle intersection test by scaling the coordinate system using the magnitude of the ray direction in the denominator axis. This transformation converts the division operation into a multiplication operation, allowing the hardware unit to achieve accurate intersection testing without requiring a floating point division unit, thus reducing device complexity while maintaining measurement precision

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If floating point division unit is included in hardware acceleration unit, then measurement precision is improved, but use of energy increases

Engineering Contradiction:
Improveintersection test accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent applies parameter changes by scaling the coordinate system with the magnitude of the ray direction component. This mathematical transformation eliminates the need for floating point division operations in the hardware acceleration unit, reducing computational complexity and energy consumption while preserving the accuracy of ray-triangle intersection testing through the scaled coordinate representation

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If division-free implementation is used, then device complexity is reduced, but measurement precision may deteriorate

Engineering Contradiction:
Improvehardware unit complexityVSAvoidintersection time accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent introduces an intermediary scaling factor based on the magnitude of the ray direction in the denominator axis. This intermediary element allows the system to perform division-free calculations while maintaining measurement precision. The scaling factor acts as a mediator that transforms the intersection time calculation into a form that can be computed using only multiplication and addition operations, with the original precise intersection time recoverable through the scaled coordinate system

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10706609B1Efficient data path for ray triangle intersection
Publication Date: 2020.07.07 ADVANCED MICRO DEVICES INC
  • US10706609B1 patent drawing
  • US10706609B1 patent drawing
  • US10706609B1 patent drawing

AI summary

Described herein is a technique for performing ray-triangle intersection without a floating point division unit. A division unit would be useful for a straightforward implementation of a certain type of ray-triangle intersection test that is useful in ray tracing operations. This certain type of ray-triangle intersection test includes a step that transforms the coordinate system into the viewspace of the ray, thereby reducing the problem of intersection to one of 2D triangle rasterization. However, a straightforward implementation of this transformation requires floating point division, as the transformation utilizes a shear operation to set the coordinate system such that the magnitudes of the ray direction on two of the axes are zero. Instead of using the most straightforward implementation of this transform, the technique described herein scales the entire coordinate system by the magnitude of the ray direction in the axis that is the denominator of the shear ratio, removing division.