Ray-Triangle Intersection Testing with Tetrahedral Plane Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ray-triangle intersection testing in 3D computer graphics remains computationally intensive despite efforts to reduce complexity, leading to high computational costs in rendering images with large numbers of pixels and complex objects.

Innovation Solution

The use of plane data for ray-triangle intersection tests, particularly organizing triangles into tetrahedral clusters and representing them with pre-computed plane data, reduces memory costs and improves computational efficiency by allowing for faster intersection point determination and barycentric weight calculation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If traditional ray-triangle intersection testing is used, then geometric objects can be represented with simple triangles, but the computational cost becomes very high

Engineering Contradiction:
Improvegeometric representation simplicityVSAvoidcomputational efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent pre-computes plane data for triangles during scene setup, transforming vertex/edge data into plane equations (ax+by+cz+d=0) that can be directly used for intersection testing. This preliminary transformation eliminates the need for complex real-time calculations during ray tracing, significantly improving computational efficiency while maintaining the simplicity of triangle-based geometric representation

Inventive Principle:
Principle #10Preliminary action

2Productivity

If plane data is used for ray-triangle intersection tests, then computational efficiency improves, but memory usage increases

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent creates a shared plane data structure that serves multiple triangles simultaneously. By representing triangles through shared plane equations rather than storing complete vertex/edge data for each triangle independently, the system reduces redundant memory storage while maintaining the ability to perform efficient ray-triangle intersection tests for all triangles in the scene

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Quantity of substance

If triangles are organized in tetrahedral clusters with shared planes, then memory costs reduce, but the complexity of organizing triangles increases

Engineering Contradiction:
Improvememory usageVSAvoidtriangle organization complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent merges adjacent triangles into tetrahedral clusters where shared edges and vertices are represented by common plane data. This merging approach allows multiple triangles to share the same plane equations, significantly reducing memory usage. The clustering into tetrahedrons provides a systematic way to organize triangles while maintaining efficient plane-based intersection testing

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP3714433B1Ray-triangle intersection testing with tetrahedral planes
Publication Date: 2023.11.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3714433B1 patent drawingFigure 1
  • EP3714433B1 patent drawingFigure 2
  • EP3714433B1 patent drawingFigure 3

AI summary

Various approaches to performing ray-triangle intersection tests for single triangles or clusters of triangles are presented. In some example implementations, the triangles are organized in tetrahedral clusters, and the ray-triangle intersection tests use plane data for sets of planes of the tetrahedral clusters. A triangle can be represented as three bounding planes. Further, in some example implementations, the same three bounding planes of a tetrahedral cluster can be used to represent one, two, or three triangles that define faces of that tetrahedral cluster. With this configuration, overall memory costs are reduced when the same plane data is used to represent multiple triangles, and operations to check for ray-triangle intersections are still computationally efficient.