GPU Texture Tile Detail Control via LOD Clamping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current 3D computer graphics systems face inefficiencies in processing textures due to limited texture memory, leading to difficulties in rendering high-detail textures and managing large texture maps, which results in increased GPU workload and potential rendering quality compromises.

Innovation Solution

The system manages textures on a per-region basis, allowing for efficient use of texture memory through techniques like texture streaming and sparse textures, and uses a GPU texture unit to intelligently clamp level of detail (LOD) based on shader specifications, providing feedback to the shader for conditional reactions, and employs per-region independent mipmap stacks to support very large textures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If mipmapping with reduced LOD versions is used to decrease GPU workload, then rendering efficiency is improved, but texture memory may not have the desired LOD available and rendering quality may be compromised

Engineering Contradiction:
Improverendering efficiencyVSAvoidrendering quality
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system dynamically selects and switches between different LOD versions of texture maps based on real-time rendering requirements and available memory. The GPU can choose the appropriate LOD level (from LOD0 to LODn) for each rendering operation, allowing it to optimize between quality and efficiency on a per-frame or per-object basis rather than being static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the parameter of texture detail level (LOD) to have multiple discrete versions (LOD0, LOD1, ..., LODn) with progressively reduced detail. This allows the system to adjust the quality parameter dynamically - using higher LOD values for less critical areas or when memory is constrained, and lower LOD values for important areas when resources allow.

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If additional time is spent loading the desired LOD for texture into texture memory, then rendering quality is improved, but GPU time is consumed

Engineering Contradiction:
Improverendering qualityVSAvoidGPU time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

Multiple LOD versions of texture maps are pre-computed and stored in texture memory before rendering begins. This preliminary preparation ensures that when rendering occurs, the desired LOD version is already available in memory and can be immediately used without requiring loading or computation during the rendering pass, thus avoiding GPU time loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates multiple copies of the texture map at different LOD levels and stores them in texture memory. Instead of loading a single high-resolution texture and processing it in real-time, pre-computed copies at various detail levels are prepared in advance and stored, allowing rapid selection and use during rendering without computational overhead.

Inventive Principle:
Principle #26Copying

3Quantity of substance

If a limited amount of memory is used to store texture maps, then memory usage is optimized, but extremely large texture maps cannot be worked with

Engineering Contradiction:
Improvememory usageVSAvoidtexture size capability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The texture map is segmented into multiple LOD versions (LOD0, LOD1, ..., LODn) where each subsequent version has reduced detail and smaller size. This segmentation allows the system to store multiple resolutions of the same texture, enabling work with large original textures while only consuming memory proportional to the smaller reduced versions, thus optimizing memory usage while maintaining the capability to handle large textures.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8587602B2GPU texture tile detail control
Publication Date: 2013.11.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8587602B2 patent drawing
  • US8587602B2 patent drawing
  • US8587602B2 patent drawing

AI summary

Systems and associated methods for processing textures in a graphical processing unit (GPU) are disclosed. Textures may be managed on a per region (e.g., tile) basis, which allows efficient use of texture memory. Moreover, very large textures may be used. Techniques provide for both texture streaming, as well as sparse textures. A GPU texture unit may be used to intelligently clamp LOD based on a shader specified value. The texture unit may provide feedback to the shader to allow the shader to react conditionally based on whether clamping was used, etc. Per region (e.g., per-tile) independent mipmap stacks may be used to allow very large textures.