Normal Vector Quantization for Bump Mapping Detail
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing bump mapping methods in computer graphics require high calculation costs and memory usage due to the need for mapping normal vectors onto each pixel and performing brightness calculations, while also limiting image quality due to quantization of normal vectors.
Innovation Solution
A graphic processing apparatus and method that uses normal maps with varying resolutions, quantization tables, and lookup tables to selectively map and replace pseudo-normal vectors with reference normal vectors, reducing brightness calculations and memory usage while improving image quality through interpolation between resolution levels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If normal vectors are mapped onto each pixel of object surface for bump mapping, then surface roughness can be expressed, but calculation cost and memory usage increase significantly
Solution Approach 1:
The patent segments the continuous normal vector space into discrete quantized levels using quantization tables. Instead of processing full-precision normal vectors for each pixel, the system divides normal vectors into a finite number of quantized levels, allowing efficient lookup and processing while maintaining acceptable visual quality for surface roughness expression.
Solution Approach 2:
The patent changes the precision parameter of normal vectors from high precision (continuous values) to low precision (quantized levels). By adjusting the quantization level parameter, the system balances between calculation efficiency and surface roughness expression quality, enabling real-time rendering with acceptable visual fidelity.
2Measurement precision
If normal vectors are stored on a pixel basis for bump mapping, then surface detail is improved, but memory capacity requirements increase
Solution Approach 1:
The patent uses quantization tables as reference copies that define a finite set of representative normal vectors. Instead of storing unique normal vector data for each pixel, the system stores compact quantization tables that can be referenced repeatedly, significantly reducing memory requirements while maintaining surface detail through the quantized normal vector information.
3Productivity
If quantization of normal vectors is applied to reduce processing load, then calculation cost decreases, but image quality deteriorates
Solution Approach 1:
The patent implements dynamic adjustment of quantization levels based on rendering conditions. The system can adaptively change the number of quantization levels and selection criteria according to factors such as object distance, screen space error, and importance, allowing high processing efficiency for distant objects while maintaining image quality for close-up views.
Solution Approach 2:
The patent applies different quantization strategies to different regions of the scene based on their visual importance. Critical areas with high visual impact use finer quantization levels for better image quality, while less important areas use coarser quantization to maximize processing efficiency, creating locally optimized rendering quality.
Data Source
AI summary
A normal vector mapping unit maps a texture of the MIP-map level corresponding to a level of detail (LOD) of a polygon onto a polygon surface to generate a pseudo-normal vector on the polygon surface. A normal vector replacing unit refers to the vector quantization (VQ) table of the relevant MIP-map level and replaces the pseudo-normal vector on the polygon surface with a quantized reference normal vector. A brightness value acquiring unit refers to the color lookup table (CLUT) of the relevant MIP-map level, and acquires the brightness value corresponding to the reference normal vector on the polygon surface. The brightness value acquiring unit also interpolates brightness values between different MIP-map levels. A graphic processor combines the RGB value of each pixel of the polygon surface with the brightness value acquired by the brightness value acquiring unit to write the combined data into a frame buffer.


