Hardware-Accelerated Texture Lookup for Ray Tracing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing technologies face challenges in efficiently performing hardware-accelerated texture lookup and interpolation, particularly in ray tracing and rasterization, which are resource-intensive and limit real-time performance.

Innovation Solution

The development of a graphics processor architecture that includes dedicated sets of graphics processing resources arranged into multi-core groups, featuring vector engines, matrix engines, and ray tracing units, which perform texture lookup and interpolation operations efficiently using hardware logic optimized for parallel processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional software-based texture lookup and interpolation is used, then flexibility and adaptability are maintained, but processing speed and real-time performance deteriorate

Engineering Contradiction:
Improvetexture lookup and interpolation speedVSAvoidgraphics processing resource requirements
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent replaces software-based texture processing with dedicated hardware circuitry including texture units, address generation units, and interpolation units. This hardware substitution performs texture coordinate generation, texture mapping, and bilinear interpolation through dedicated logic circuits rather than software execution, achieving real-time performance acceleration while maintaining fixed functional architecture.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Measurement precision

If resource-intensive ray tracing operations are performed, then rendering quality and accuracy are improved, but processing time and computational load increase

Engineering Contradiction:
Improveray-scene intersection accuracyVSAvoidray traversal computation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the ray tracing pipeline into specialized functional units: ray generation units, traversal units for BVH navigation, intersection units for ray-primitive testing, and texture units for material sampling. Each unit handles a specific stage of ray-triangle intersection computation, enabling parallel processing of multiple rays simultaneously and reducing overall computation time while maintaining intersection accuracy.

Inventive Principle:
Principle #1Segmentation

3Productivity

If hardware-accelerated texture processing is implemented, then real-time rendering performance is improved, but device complexity and manufacturing cost increase

Engineering Contradiction:
Improvereal-time rendering throughputVSAvoidgraphics processor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent designs unified texture units that can process multiple texture coordinate systems (screen space, object space, tangent space) and support various interpolation modes (bilinear, tricubic, anisotropic) through configurable hardware logic. The same hardware infrastructure serves both rasterization and ray tracing workloads, reducing overall device complexity compared to having separate dedicated units for each function.

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

Data Source

PatentUS20230297508A1Apparatus and method for hardware-accelerated texture lookup and interpolation
Publication Date: 2023.09.21 INTEL CORP
  • US20230297508A1 patent drawing
  • US20230297508A1 patent drawing
  • US20230297508A1 patent drawing

AI summary

Embodiments of the invention include acceleration hardware for performing texture lookups and for interpolation for textures backed by hashed memory layouts. In particular, on a texel fetch, a special texture addressing mode allows integer texel coordinates to be hashed and combined with dedicated hardware, to arrive at a pseudo-random memory address for each texel within the memory block allocated to back the respective sampled texture.