Explicit Texture Filtering Weights for Pixel-Adaptive Kernel Variation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional graphics processors lack flexibility in texture filtering, as bilinear filter weights are inferred based on fractional texture coordinates, limiting the ability to produce varied filtered texels for each pixel.
Innovation Solution
The introduction of explicit weights for texture filtering, where each pixel can use a different filter kernel, with weights computed or read from a texture map, allowing scaling of texels based on integer portions of texture coordinates to produce filtered texels using a single texture fetch instruction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If bilinear filter weights are inferred based on fractional texture coordinates, then texture filtering is performed using conventional methods, but flexibility in producing varied filtered texels for each pixel is limited
Solution Approach 1:
The patent extracts the weight computation from the fractional texture coordinates and stores it separately in a weight map. This allows weights to be independently controlled and varied for each pixel without being constrained by the bilinear filtering algorithm, thereby increasing flexibility while keeping the filtering mechanism itself simple.
Solution Approach 2:
The weights are pre-computed and stored in a weight map before the actual texture filtering operation. This preliminary action allows the filtering process to simply retrieve and apply pre-determined weights, avoiding complex real-time computations during rendering and maintaining device efficiency.
2Productivity
If explicit weights are used for texture filtering, then different filter kernels can be used for each pixel, but additional processing is required to obtain and apply these weights
Solution Approach 1:
The patent merges the weight retrieval and texture sampling operations into a unified process. Both the texture coordinates and weights are fetched from their respective maps (texture map and weight map) in parallel, and the filtering operation combines them in a single pass, improving productivity without proportionally increasing complexity.
Solution Approach 2:
The weight map serves as an intermediary data structure that stores pre-computed filtering weights. This intermediary allows the system to use complex filter kernels without requiring complex computation logic in the filtering pipeline itself, as the weights are already prepared and ready for application.
3Adaptability or versatility
If weights are read from a texture map, then explicit weights can be provided for each pixel, but an additional texture map access is required
Solution Approach 1:
The weights are pre-computed and stored in the weight map before the rendering operation begins. This preliminary action eliminates the need for complex real-time weight calculations during pixel processing, allowing the system to simply retrieve pre-prepared weights and apply them, thereby reducing processing time despite the additional map access.
Solution Approach 2:
The patent enables continuous texture filtering operations with varying weights by maintaining the weight map in accessible memory. The filtering pipeline continuously retrieves weights and applies them to each pixel without interruption or recalculation, ensuring that the additional weight map access does not create bottlenecks in the rendering pipeline.
Data Source
AI summary
A system and method for providing explicit weights for texture filtering permits filter weights to vary for each pixel within a primitive. A different filter kernel may be used for each pixel. The weights may be computed or read from a texture map. Because the weights are explicit, the fractional portions of the texture map coordinates that are typically used to determine a bilinearly filtered texel are not used.


