Vector Floating-Point Comparison for Watertight Ray Intersections

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing ray tracing systems face challenges in performing accurate and efficient intersection tests, particularly when a ray intersects a shared edge or vertex of multiple polygons, leading to rendering errors and performance issues due to the limitations of floating-point precision and the need for special case handling in hardware implementations.

Innovation Solution

The method involves promoting floating-point values to a vector format, setting additional components to non-zero finite values, and performing comparison operations to determine intersection results, which allows for extended exponent ranges and avoids special case handling for zero and infinity values, ensuring watertight and non-redundant intersection tests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If floating-point values are used with standard exponent ranges, then hardware implementation is simpler, but accuracy deteriorates when values are extremely close to the division boundary

Engineering Contradiction:
Improvecomparison accuracyVSAvoidhardware complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent transforms scalar floating-point values into vector floating-point values by adding temporal and spatial dimensions. This dimensional expansion allows the system to represent values that are extremely close to division boundaries without requiring special hardware handling, thereby improving comparison accuracy while maintaining standard hardware complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The patent changes the exponent range parameter from standard IEEE 754 limits to an extended range that can represent values closer to zero. This parameter change enables more precise representation of floating-point values near division boundaries, improving measurement precision without requiring complex hardware special-case handling.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If special case handling is implemented for zero and infinity values, then reliability improves, but device complexity increases

Engineering Contradiction:
Improveintersection test reliabilityVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and removes the need for special case handling logic from the hardware implementation. By using vector floating-point representation with extended exponent ranges, values that would traditionally require special handling (zero, infinity, NaN) are represented as normal vector values, eliminating the need for complex conditional logic and special-case circuits.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of adding special case handling logic to improve reliability, the patent inverts the approach by designing a representation system where special cases are unnecessary. Vector floating-point values with extended exponents naturally handle all cases uniformly, improving reliability through simplification rather than addition of complexity.

Inventive Principle:
Principle #13The other way round (Inversion)

3Measurement precision

If floating-point precision is increased, then measurement precision improves, but loss of time increases due to additional processing

Engineering Contradiction:
Improvefloating-point precisionVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent uses vector floating-point representation where the additional dimension (temporal component) provides precision information without requiring increased computational complexity. The vector format allows parallel processing of multiple precision components, maintaining processing speed while improving measurement precision for comparison operations.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS20220350606A1Performing comparison operations using vector floating point values
Publication Date: 2022.11.03 IMAGINATION TECH LTD
  • US20220350606A1 patent drawing
  • US20220350606A1 patent drawing
  • US20220350606A1 patent drawing

AI summary

A method and processing module for performing a particular comparison operation using floating point values. The floating point values are received in a scalar format. The received floating point values are promoted to a vector format, wherein the received floating point values are used as a first component of the vector floating point values. A second component of one or more of the vector floating point values is set to a non-zero, finite value. The particular comparison operation is performed using the vector floating point values to determine a vector result having first and second components. A scalar result of the particular comparison operation is determined, wherein the magnitude of the scalar result is given by the magnitude of the first component of the vector result, and wherein if the first component of the vector result is non-zero then the sign of the scalar result equals the sign of the first component of the vector result, and wherein if the first component of the vector result is zero and if the second component of the vector result is non-zero then the sign of the scalar result equals the sign of the second component of the vector result. The scalar result of the particular comparison operation is outputted.