Cube Map Texture Array Indexing via Address Cube Map

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing hardware and APIs do not support arrays of cube map textures, limiting the ability to access different instances of cube map textures simultaneously, which restricts the use of cube map texturing in providing directional data for multiple objects.

Innovation Solution

A graphics system stores an array of cube map textures and uses a face address cube map to index into the array, allowing a graphics processor to access specific cube map textures based on a three-dimensional vector and instance index, enabling the use of arrays of cube map textures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional cube map texturing is used, then single instance cube map access is supported, but array of cube map textures cannot be accessed

Engineering Contradiction:
Improvecube map texture array accessVSAvoidgraphics processing system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an address cube map as an intermediary structure that mediates between the directional vector input and the actual cube map texture array. The address cube map stores pre-computed texture coordinate information for multiple cube map instances, allowing the system to indirectly access the texture array without requiring direct array indexing support in the graphics hardware or API.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the problem from a one-dimensional single-cube-map lookup to a two-dimensional lookup process: first querying the address cube map to determine the correct texture coordinates and instance, then using those coordinates to access the actual cube map texture. This dimensional transformation enables array access through conventional single-map lookup mechanisms.

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

2Adaptability or versatility

If arrays of cube map textures are implemented, then multiple object directional data can be accessed, but hardware and API support is required

Engineering Contradiction:
Improvemulti-instance directional data storageVSAvoidhardware and API compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent creates a virtual copy of the cube map texture array through the address cube map structure. Instead of directly storing multiple cube map textures in the hardware (which requires array support), the system stores a compressed representation (the address cube map) that points to the actual texture data, enabling multi-instance access through software-level abstraction rather than hardware-level array support.

Inventive Principle:
Principle #26Copying

3Productivity

If conventional cube map texturing is used, then simple texture lookup is achieved, but cannot provide directional data for different objects simultaneously

Engineering Contradiction:
Improvedirectional data retrieval for multiple objectsVSAvoidtexture access operation
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent performs preliminary computation by pre-storing the address cube map with pre-calculated texture coordinate information for multiple cube map instances. This preliminary action allows the system to quickly retrieve directional data for multiple objects without performing complex real-time calculations, as the address mapping is already prepared in advance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7884830B1Apparatus, system, and method for indexing an array of cube map textures
Publication Date: 2011.02.08 NVIDIA CORP
  • US7884830B1 patent drawing
  • US7884830B1 patent drawing
  • US7884830B1 patent drawing

AI summary

A graphics system supports arrays of cube map textures. In one implementation, a cube map texture is utilized as an index into a set of cube map textures. The set of cube map textures may further be arranged into an atlas of two-dimensional textures.