A GPU-friendly method for high dynamic range texture compression using inverse tone mapping
Francesco Banterle, Kurt Debattista, Patrick Ledda, Alan G. Chalmers · 2008
Figure 1: A simple real-time application showing Happy Buddha with emphasis on texturing operations for timing: on the left Ground truth HDR texture was encoded using 32bit floating point for each channel (96 bpp). On the center left RGBE encoding (32 bpp). On the center right Wang et al. [28] (16 bpp), note that in this case the splitting axis between LDR and HDR image minimizes RMSE error but appearance presents noticeable quantization artifacts. On the right our method using residuals (8 bpp). In recent years, High Dynamic Range Textures (HDRTs) have been frequently used in real-time applications and video-games to enhance realism. Unfortunately, HDRTs consume a consider-able amount of memory, and efficient compression methods are not straightforward to implement on modern GPUs. We propose a framework for efficient HDRT compression using tone map-ping and its dual, inverse tone mapping. In our method, encod-ing is performed by compressing the dynamic range using a tone mapping operator followed by a traditional encoding method for low dynamic range imaging. Our decoding method, decodes the low dynamic range image and expands its range with the inverse tone mapping operator. We present results using the Photographic Tone Reproduction tone mapping operator and its inverse encoded with S3TC running in real-time on current programmable GPU-hardware resulting in compressed HDRTs at 4 − 8 bits per pixel (bpp), using a fast shader program for decoding. We show how our approach is favorable compared to other existing methods.