359 | | · BMP[[BR]] Lossless and uncompressed, a large file that is bigger than a TGA, and lacks alpha channel support. The most basic format that may be saved and converted to a .dds file using a WFG conversion tool. Alpha layer tools are not required. |
360 | | |
361 | | · TGA[[BR]] It is a lossless format, and supports alpha content via alpha channels. A 24-bit TGA will be converted to a DXT1 DDS file, and a 32-bit (alpha) TGA will be converted to a DXT3 DDS file. NOTE: Photoshop 7.0 has a bug where you cant save alpha in TGA. You should upgrade to Photoshop 7.1 or Photoshop CS. Because this format does contain alpha layers it requires software that takes advantage of this feature. This may also be converted to a .dds file using a WFG conversion tool. |
| 359 | |
| 360 | . PNG[[BR]] This is now the preferred image format for all textures. PNG supports lossless data compression and therefore no quality is lost when textures are committed. Alpha channel support allows for PNG files to store additional image data that can then be used in-game. When saving PNG files using Photoshop, we recommend using the [http://www.fnordware.com/superpng SuperPNG plugin] |
| 361 | |
| 362 | · DDS[[BR]] Textures are automatically converted from PNG to DDS by the engine to improve loading times. Textures should no longer be in DDS format when committed. |
| 363 | |
| 364 | DirectX Texture Compression : DXTC is the native, compressed texture format used in DirectX 9. In many cases, DXTC reduces texture memory usage by 50% or more over palettized, 8-bit textures, allowing for twice the textures at the same resolution, or the same number of textures at twice the resolution. Three DXTC formats are available. You can see a detailed comparison on the different types of texture compression here: http://udn.epicgames.com/pub/Content/TextureComparison/ The color channels are all the same DXT1, DXT3, and DXT5 - in terms of compression and quality. The difference lies in the alpha channel. |
| 365 | |
| 366 | · DXT1 is a four-bit compressed color format that allows for opaque, and one-bit alpha (DXT1a) textures; that is, textures with no transparency at all, and textures with a single transparent color. |
| 367 | |
| 368 | · DXT3 adds support for a four-bit explicit alpha channel, on top of DXT1's color compression. Four-bit explicit alpha allows for sixteen distinct alpha values, making it good for textures with 'sharply contrasting translucent/opaque areas. DXT2 textures assume the color data is pre-multiplied by the alpha channel. |
| 369 | |
| 370 | · DXT5 support a four-bit interpolated alpha channel. Three bits are used to determine explicit alpha values, and two eight-bit values are used to interpolate gradually between them. This makes the format especially suited for soft gradients and other textures where the alpha areas’ variance is mild. DXT4 assumes colors are pre-multiplied by the alpha channel. |
| 371 | |
| 372 | · 32-bit RGBA is the obese godfather of textures. While extremely powerful, it's also terribly overweight. It features full 24-bit color, plus an 8-bit alpha channel, but takes up four bytes for every pixel; a 256x256 texture will require 256k of memory. |
364 | | |
365 | | · DDS[[BR]] This is the format that is used by the game, no conversion is needed, subsequently loading times are extremely fast, in the order of 5x faster than any other format. This format gives you full control over the texture attributes and color format, it also supports alpha channels. This format is therefore recommended for maximum performance and control. |
366 | | |
367 | | DirectX Texture Compression : DXTC is the native, compressed texture format used in DirectX 9. In many cases, DXTC reduces texture memory usage by 50% or more over palettized, 8-bit textures, allowing for twice the textures at the same resolution, or the same number of textures at twice the resolution. Three DXTC formats are available. You can see a detailed comparison on the different types of texture compression here: http://udn.epicgames.com/pub/Content/TextureComparison/ The color channels are all the same DXT1, DXT3, and DXT5 - in terms of compression and quality. The difference lies in the alpha channel. |
368 | | |
369 | | · DXT1 is a four-bit compressed color format that allows for opaque, and one-bit alpha (DXT1a) textures; that is, textures with no transparency at all, and textures with a single transparent color. |
370 | | |
371 | | · DXT3 adds support for a four-bit explicit alpha channel, on top of DXT1's color compression. Four-bit explicit alpha allows for sixteen distinct alpha values, making it good for textures with 'sharply contrasting translucent/opaque areas. DXT2 textures assume the color data is pre-multiplied by the alpha channel. |
372 | | |
373 | | · DXT5 support a four-bit interpolated alpha channel. Three bits are used to determine explicit alpha values, and two eight-bit values are used to interpolate gradually between them. This makes the format especially suited for soft gradients and other textures where the alpha areas’ variance is mild. DXT4 assumes colors are pre-multiplied by the alpha channel. |
374 | | |
375 | | · 32-bit RGBA is the obese godfather of textures. While extremely powerful, it's also terribly overweight. It features full 24-bit color, plus an 8-bit alpha channel, but takes up four bytes for every pixel; a 256x256 texture will require 256k of memory. |
376 | | |
377 | | [[BR]] Recommendation[[BR]] Use DXT1 textures as much as is possible because the greatest space savings can be had with them (any texture without an alpha transparency layer). If watching for rendering artifacts is not an option, DXT5 supports the most flexible alpha channels, while not increasing memory usage beyond that of a normal 8-bit palletized texture (for textures that require the use of the alpha layer – player color, transparency, object color). Use full RGBA only when DXT3/5 do not suffice in the both the color and alpha quality department, in highly visible expanses, such as skies box textures and user interface elements. |
378 | | |
379 | | NOTE: A hardware bug in all nVidia chipsets, including the NV20 (!GeForce3), potentially makes DXT1 textures gross and ugly. Specifically, decompression is performed in 16-bit color mode internally, making the resulting texture potentially unacceptable for use, especially when combined with other operations. Test your DXT1 textures on nVidia hardware before committing to their use. All other DXTC formats on nVidia hardware are okay, as textures are decompressed in 32-bit color internally. |