Overview
A plug-in from Intel extends Adobe Photoshop* to take advantage of the latest image compression methods for BCn (also known as DXT). This plug-in allows artists to access superior compression results at optimized compression speeds within Photoshop.
Requirements:
- Windows* 32 or 64, versions 7, 8, and 10
Note A Mac* version is unavailable. - Photoshop with Creative Suite* 6 and Creative Cloud* 2015
- Microsoft DirectX* 10 (older versions do not support BC6 and BC7 formats)
Note Low-power graphics chips like PowerVR* do not support BC compression.
Benefits
This application provides:
- Access to hardware-supported superior compression results
- Compression at optimized speeds
- A feature preview to aid productivity
- An ability to run within an established content tool
- Pluggable architecture for future compression schemes
Figure 1. Image options
Features
- Support for multiple BCn image formats
- Save files through a plug-in
- Microsoft DirectX* 10 extended header for sRGB
- Load extended-header .DDS files from Microsoft DirectX* into Photoshop
- Choose between fast and fine (more accurate) compression
- Support for alpha maps, color maps, and normal maps
- Support for cube maps:
- BCn compression
- Gaussian blur script
- Convert a horizontal cube cross from a Layers script
- Load or edit mipmaps levels as layers and repack mipmaps upon saving
- Real-time preview to visualize quality trade-offs
- Support for performing batch or single-action tasks in Photoshop
- Save plug-in settings as presets
Fine Compression
Figure 2. Before compression, this image was 769 k and in a .TGA format.
Figure 3. After a BC7 fine compression, the image is 257 k and in a .DDS format.
Cube Map Tools
Figure 4. Examples of cube map tools.
Gaussian Blur Script
This feature allows you to apply a Gaussian blur value across all individual layers (sides) of the cube map. Layers can then be:
- Saved directly to a single .DDS file in a BCn format
- Converted to a horizontal cube cross using the Convert Cube Map script provided in the plug-in
Figure 5. Individual layers in a cube map
Convert Cube Map Script
This script enables a two-way conversion from a horizontal cube cross to individual sides as layers for image processing.
Export Formats
The available formats change based on the Texture Type you choose. Contextual guidance in simple terms is also provided. The list of color formats is on the left of the Compression dropdown menu.
Figure 6. A list of available color formats.
The following table shows details about the list:
BC1 |
RGB |
4BPP |
aka DXT1 |
Useful for color maps or normal maps if memory is tight. Contains RGB types of data. |
BC1 |
sRGB |
4BPP |
aka DXT1 |
Same as the previous row with an sRGB extended header only on DirectX 10 hardware. |
BC3 |
RGBA |
8BPP |
aka DXT5 |
Useful for color maps with full alpha, packing color, and mono maps together. Contains RGBA types of data. |
BC3 |
sRGBA |
8BPP |
aka DXT5 |
Same as the previous row with an sRGB extended header only on DirectX 10 hardware. |
BC4 |
R |
4BPP |
Grayscale |
Useful for height maps, gloss maps, font atlases, or any other greyscale image. |
BC5 |
RG |
8BPP |
aka 3Dc |
Useful for tangent space normal maps. A two-channel tangent map. |
BC6H |
RGB |
8BPP |
Fast compression |
Useful for HDR 16 images only on DirectX 11 hardware. |
BC6H |
RGB |
8BPP |
Fine compression |
Same as the previous row with a longer optimized compression time for a finer result. |
BC7 |
RGBA |
8BPP |
Fast compression |
Useful for high-quality color maps and color maps with full alpha. It provides the best quality compression only on DirectX 11 hardware. |
BC7 |
RGBA |
8BPP |
Fine compression |
Same as the previous row with longer optimized compression time for a finer result. |
BC7 |
sRGBA |
8BPP |
Fast Compression |
Same as the BC7 for fast compression with an sRGB extended header only on DirectX 10 hardware. |
BC7 |
sRGBA |
8BPP |
Fine Compression |
Same as BC7 Fine above with sRGB extended header only on DirectX10 + level hardware |
None |
RGBA |
32BPP |
Uncompressed |
|
Comparisons
Figure 7. Compression with the BC3 RGBA 8bpp option.
Figure 8. Compression with the BC7 RGBA 8bpp Fast option.
Figure 9. Compression with the BC7 RGBA 8bpp Fine option.
FAQ
Why do we still need texture compression?
The demand for more realism in games through textures has increased with each improvement in graphics hardware. Effective texture memory management (compression) is required to keep pace with this demand.
How can I minimize artifact errors?
Use higher bit depths and or finer (slower) compression formats (for example, BC7 fine).
Why should I use BCn over lossless .PNG?
File formats like .PNG and .JPG save disk space and transmission time over the internet but have no impact on optimizing textures for use in graphics hardware memory.
BCn optimizes textures for real-time use in graphics memory and saves space on disk. However, not all applications can read or load the newer BCn compression formats. To implement optimized BCn in your application, use the code examples in Texture Compressor.
How do I use .DDS with BCn?
You can assign the texture to your object in any application that supports the chosen BCn format.
Which game engines support .DDS?
- Unreal* offers BC7 as a texture compression option on build.
- Autodesk Maya* 2015 and later supports BC7 in Viewport 2.0.
Is there support for Microsoft DirectX*?
Yes, newer BCn formats are supported in DirectX 11.2 and 12.
How do I know which compression to use?
For details, see Export Formats.