Fast ISPC Texture Compressor - Update

Download Code Sample

This article and the sample code project were written by Marc Fauconneau Dufresne at Intel Corp.

Updated 4/12/2016
This update adds support for RGBA ASTC compression.

Updated 8/26/2015
This update adds high-quality ETC1 and ASTC compression to the fast ISPC texture compression sample. For ASTC compression we only support RGB 2D LDR inputs for now. Block sizes up to 8x8 are supported (not 10x5 and 10x6). SIMD instruction sets are exploited using the  Intel SPMD Compiler. The following graph shows the performance/quality tradeoff offered compared to astcenc on the Kodak dataset with 6x6 blocks. Quality similar to astcenc's "fast" preset is achieved, but 44 times faster.


Figure 1 - Performance and quality vs. astcenc. Note the x-axis is using a logarithmic scale.

 

Updated 5/13/2014
This sample extends our state of the art BC7 Texture compressor with BC6H (DX11 HDR texture format) support. We use a similar approach to quick partition filtering, selection and refinement, along with an effective search strategy to take advantage of the B6CH endpoint transform. SIMD instruction sets are exploited using the Intel SPMD Compiler. Various quality/performance trade-offs are offered.


Figure 2ISPC Texture Compressor Update - 5/13/14

Original (11/5/2013)
This sample demonstrates a state of the art BC7 (DX11) Texture compressor. BC7 partitioning decisions are narrowed down in multiple stages. Final candidates are optimized using iterative endpoint refinement. All BC7 modes are supported. SIMD instruction sets are exploited using the Intel SPMD Compiler. Various quality/performance trade-offs are offered.


Figure 3 - Original ISPC Texture Compressor - 11/5/13

Einzelheiten zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.