Wesley Griffin

Variable Bit Rate GPU Texture Compression

Olano, Marc, Dan Baker, Wesley Griffin, and Joshua Barczak. 2011.
Variable Bit Rate GPU Texture Compression.
Computer Graphics Forum 30 (4): 1299-1308. DOI: 10.1111/j.1467-8659.2011.01989.x

Links

Abstract

Variable bit rate compression can achieve better quality and compression rates than fixed bit rate methods. None the less, GPU texturing uses lossy fixed bit rate methods like DXT to allow random access and on-the-fly decompression during rendering. Changes in games and GPUs since DXT was developed make its compression artifacts less acceptable, and texture bandwidth less of an issue, but texture size is a serious and growing problem. Games use a large total volume of texture data, but have a much smaller active set. We present a new paradigm that separates GPU decompression from rendering. Rendering is from uncompressed data, avoiding the need for random access decompression. We demonstrate this paradigm with a new variable bit rate lossy texture compression algorithm that is well suited to the GPU, including a new GPU-friendly formulation of range decoding, and a new texture compression scheme averaging 12.4:1 lossy compression ratio on 471 real game textures with a quality level similar to traditional DXT compression. The total game texture set are stored in the GPU in compressed form, and decompressed for use in a fraction of a second per scene.

GPU Surface Curvature Estimation on Deformable Meshes

Griffin, Wesley, Yu Wang, David Berrios, and Marc Olano. 2011.
GPU Surface Curvature Estimation on Deformable Meshes.
In Proceedings of the 2011 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D), 159-166 New York: ACM. DOI: 10.1145/1944745.1944772
Best Paper Honorable Mention

Links

Abstract

Surface curvature is used in a number of areas in computer graphics, including texture synthesis and shape representation, mesh simplification, surface modeling, and non-photorealistic line drawing. Most real-time applications must estimate curvature on a triangular mesh. This estimation has been limited to CPU algorithms, forcing object geometry to reside in main memory. However, as more computational work is done directly on the GPU, it is increasingly common for object geometry to exist only in GPU memory. Examples include vertex skinned animations and isosurfaces from GPU-based surface reconstruction algorithms.

For static models, curvature can be pre-computed and CPU algorithms are a reasonable choice. For deforming models where the geometry only resides on the GPU, transferring the deformed mesh back to the CPU limits performance. We introduce a GPU algorithm for estimating curvature in real-time on arbitrary triangular meshes. We demonstrate our algorithm with curvature-based NPR feature lines and a curvature-based approximation for ambient occlusion. We show curvature computation on volumetric datasets with a GPU isosurface extraction algorithm and vertex-skinned animations. Our curvature estimation is up to ~18x faster than a multi-threaded CPU benchmark.

Data Sets