Video memory is a valuable resource that has grown much slower than the rendering power of GPUs over the last years. Today, video memory is often more limiting than rendering performance. In this talk, we will report on our work on the reduction of video memory consumption in an interactive high-quality renderer.
The first part is on the compression
of baked lighting data. The core idea is to use a hybrid storage scheme that mixes vertex- and texture-based data. Textures are only used where needed, otherwise cheaper vertex-based storage is used. With a simple shader, we blend between vertex- and texture-based shading.
The second part is about memory-efficient and high-quality storage of normals. We analyze precision issues of floating point normal vectors and show how for any desired precision normals can be quantized with a number of bits that is only one bit away from the theoretical optimum.