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 ensuring watertight and non-redundant intersection tests, particularly when rays intersect shared edges of polygons, leading to rendering errors and performance penalties.

Innovation Solution

Implement a processing module that performs comparison operations using floating point values by promoting scalar values to vector format, setting additional components to non-zero finite values, and performing operations to determine a scalar result, which is used for intersection testing in ray tracing systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional scalar floating point comparison operations are used for intersection testing, then the hardware implementation is simpler, but rendering errors occur and watertightness cannot be guaranteed when rays intersect shared edges of polygons

Engineering Contradiction:
Improvewatertight intersection testingVSAvoidhardware implementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent transforms scalar floating point comparison operations into vector floating point comparison operations by adding an epsilon component. This dimensional change from scalar to vector allows the system to handle edge cases in intersection testing, ensuring watertight results without requiring complex special-case handling logic in hardware.

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

Solution Approach 2:

The patent modifies the comparison operation by introducing an epsilon parameter that is added to the floating point values before comparison. This parameter change shifts the comparison threshold slightly, preventing rays from exactly intersecting shared edges and thereby eliminating rendering errors while maintaining hardware efficiency.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If traditional scalar comparison operations are used, then performance is faster, but redundant intersection tests occur leading to performance penalties

Engineering Contradiction:
Improveintersection testing speedVSAvoidtime for redundant tests
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies epsilon adjustment to floating point values before performing intersection tests, which preliminarily prevents redundant test results. By modifying the comparison threshold in advance, the system avoids generating false positive intersection results that would require additional processing, thereby eliminating performance penalties from redundant tests.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If scalar floating point values are used with limited precision, then storage and computation are more efficient, but rendering errors occur due to precision limitations when values are extremely close to division boundaries

Engineering Contradiction:
Improvefloating point precisionVSAvoidcomputation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent addresses precision limitations by transitioning from scalar to vector floating point operations, adding an epsilon dimension to the comparison. This allows the system to distinguish between values that are extremely close to division boundaries without requiring higher precision scalar arithmetic, maintaining computational efficiency while improving measurement precision.

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

Solution Approach 2:

The patent introduces epsilon as an adjustable parameter that can be tuned based on the specific rendering requirements. This parameter change allows the system to achieve sufficient precision for intersection testing without adopting full double-precision arithmetic, balancing precision needs with computational complexity constraints.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP4064034B1Performing operations using floating point values
Publication Date: 2025.11.19 IMAGINATION TECH LTD
  • EP4064034B1 patent drawingFigure 1
  • EP4064034B1 patent drawingFigure 2a~2b
  • EP4064034B1 patent drawingFigure 3

AI summary

There is provided 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.