This sample has been retired as it either was developed for earlier generation hardware or the sample has been superseded by a newer sample with an advanced algorithm. The sample is still available for download if desired.
Features / Description
DXT compression is a lossy texture compression algorithm that can reduce texture storage requirements and decrease texture bandwidth. DXT decompression is typically hardware accelerated, which makes it very fast and efficient. DXT textures are usually compressed offline and consumed at runtime.
However, it is sometimes necessary to perform DXT compression during runtime. For example, a more efficient texture compression algorithm can be used to store textures on disk. When the textures are needed they can be decoded from disk and encoded to the DXT format during runtime.
The goal of a fast DXT compression algorithm is to allow exactly this real-time manipulation of textures. Possible uses could include procedural texturing, texture compositing, and format conversion. Since fast DXT compression can be performed by the CPU or the GPU, it’s important to profile your application to determine where your bottlenecks lie. You may also find that a CPU implementation fits better in your rendering workflow.
In this case, the sample uses SSE2 for vectorization and data parallelism as well as the Tasking API used in previous samples for task-based parallelism and easier multicore scaling.
- CPU: enabled with Intel Advanced Vector Extensions (not required but recommended). Intel microarchitecture code name Sandy Bridge or better suggested.
- GFX: uses Microsoft DirectX 11 graphics API on Microsoft DirectX 10 (or better) hardware
- OS: Microsoft Windows 7 SP1 (for Intel AVX support)
- Microsoft DirectX SDK (June 2010 release or later)
- Microsoft Visual Studio 2010 (for Intel AVX support), Microsoft Visual Studio 2008, or Intel® C++ Compiler version 11
Fast CPU DXT CompressionDOWNLOAD PROJECT
Related Technical Articles
This software is subject to the U.S. Export Administration Regulations and other U.S. law, and may not be exported or re-exported to certain countries (Burma, Cuba, Iran, Libya, North Korea, Sudan, and Syria) or to persons or entities prohibited from receiving U.S. exports (including Denied Parties, Specially Designated Nationals, and entities on the Bureau of Export Administration Entity List or involved with missile technology or nuclear, chemical or biological weapons).