SEP GPU-friendly Texture and Geometry Compression
Even though latest GPUs feature as much as 512MB of video memory, there exists a vast body of data sets that are far beyond that. While for algorithms running on the CPU it is intuitively clear that data compression will naturally cure these problems, for the GPU certain restrictions apply that usually make data compression rathe GPU-unfriendly. First of all, the GPU itself should be able to decode the data to avoid transfer across the rather slow graphics bus. Second, the GPU is not yet capable of performing bit operations that are the backbone of most decoding schemes. On the other hand the GPU has high memory bandwidth and immense raw floating point power. These considerations make easy to decode compression schemes an attractive choice to store data that will be rendered in compressed format directly on the GPU.
So far we investigated the S3TC and vector quantization as tools for GPU-friendly compression of textures and geometry. However there are certain issues that would make the investigation of a totally different, custom-taylored compression tool worthwile. The attendee should investigate several compression schemes with respect to the following questions. Are they decodable on the GPU? Is it possible to efficiently filter the data on the GPU? Does the scheme offer a flexible quality/compression tradeoff? Is encoding time acceptable? The scheme(s) that best fits an implementation on the GPU should be integrated into a terrain rendering tool to compress both textures and geometry.
- Sound knowledge of the C/C++ programming language
- Interest in computer graphics
- Knowledge of the OpenGL API
- Knowledge of GLSL will be a strong plus
Supervisors: J. Schneider