|
|
Line 1: |
Line 1: |
| '''S3 Texture Compression''' ('''S3TC''') (sometimes also called '''DXTn''' or '''DXTC''') is a group of related [[lossy compression|lossy]] [[texture compression]] [[algorithm]]s originally developed by Iourcha et al. of [[S3 Graphics|S3 Graphics, Ltd.]]<ref>{{patent|US|5956431|"Fixed-rate block-based image compression with inferred pixel values"}}</ref> for use in their [[Savage 3D]] computer graphics accelerator. The method of compression is strikingly similar to the previously published [[Color Cell Compression]],<ref>{{cite web|url=http://ieeexplore.ieee.org/iel5/498/3989/00152671.pdf |title=1990 IEEE Color Cell Compression Paper |publisher=Ieeexplore.ieee.org |date= |accessdate=2012-01-25}}</ref> which is in turn an adaptation of [[Block Truncation Coding]] published in the late 1970s. Unlike some image compression algorithms (e.g. [[JPEG]]), S3TC's fixed-rate data compression coupled with the single memory access (cf. Color Cell Compression and some [[Vector quantization|VQ]]-based schemes) made it well-suited for use in compressing [[texture mapping|textures]] in hardware-accelerated [[3D computer graphics]]. Its subsequent inclusion in [[Microsoft]]'s [[DirectX]] 6.0 and [[OpenGL]] 1.3 (via the GL_EXT_texture_compression_s3tc [[OpenGL#Extensions|extension]]) led to widespread adoption of the technology among hardware and software makers. While S3 Graphics is no longer a competitor in the graphics accelerator market, license fees are still levied and collected for the use of S3TC technology, for example in [[game console]]s and graphics cards. The wide use of S3TC has led to a [[de facto]] requirement for OpenGL drivers to support it, but the patent-encumbered status of S3TC presents a major obstacle to [[open source]] implementations.<ref>{{cite web|url=http://dri.freedesktop.org/wiki/S3TC |title=S3TC situation on official DRI information page |publisher=Dri.freedesktop.org |date= |accessdate=2012-01-25}}</ref>
| |
|
| |
|
| == Codecs ==
| |
| There are five variations of the S3TC algorithm (named '''DXT1''' through '''DXT5''', referring to the [[FourCC]] code assigned by Microsoft to each format), each designed for specific types of image data. All convert a 4×4 block of pixels to a 64-[[bit]] or 128-bit quantity, resulting in compression ratios of 6:1 with 24-bit [[RGB color space|RGB]] input data or 4:1 with 32-bit [[RGBA color space|RGBA]] input data. S3TC is a [[lossy data compression|lossy]] compression algorithm, resulting in image quality degradation, an effect which is minimized by the ability to increase texture resolutions while maintaining the same memory requirements. Hand-drawn cartoon-like images do not compress well, nor do [[normal mapping|normal map]] data, both of which usually generate [[Compression artifacts|artifacts]]. [[ATI Technologies|ATI]]'s [[3Dc]] compression algorithm is a modification of DXT5 designed to overcome S3TC's shortcomings with regard to normal maps. [[id Software]] worked around the normalmap compression issues in [[Doom 3]] by moving the red component into the alpha channel before compression and moving it back during rendering in the [[pixel shader]].<ref>{{cite web|url=http://www.gamershell.com/news/14362.html |title=DOOM 3 Video Requirements |publisher=Gamershell.com |date= |accessdate=2012-01-25}}</ref>
| |
|
| |
|
| Like many modern image compression algorithms, S3TC only specifies the method used to decompress images, allowing implementers to design the compression algorithm to suit their specific needs, although the patent still covers compression algorithms. The nVidia GeForce 1 through to GeForce 4 cards also used 16-bit interpolation to render DXT1 textures, which resulted in banding when unpacking textures with color gradients. Again, this created an unfavorable impression of texture compression, not related to the fundamentals of the codec itself.
| | Save for the Clash of Clans hack tool; there could be also hack tools for other games. Men or women can check out all of the hacks and obtain many of those which they need. It is sure these people will have lost on fun once they have the hack tool that they can.<br><br>For anybody who is purchasing a game with the child, appear for one that allows several individuals to perform together. In the event you loved this post and you want to receive more info regarding [http://Circuspartypanama.com/ clash of clans hack download no survey] generously visit the website. Gaming can be a singular activity. Nonetheless, it's important to support your youngster to continually be societal, and multiplayer battle of clans trucos gaming can do that. They allow siblings but also buddies to all seated and laugh and compete together.<br><br>The outcome displayed in the graph are too apparent regarding ignored. Even a youngster could work out that the nationwide debt has normally relied upon clash of clans identify tool no survey to a certain extent, but now more that ever. Lots of analysts fear a after that depression.<br><br>Guilds and clans have ended up popular ever since the most effective beginning of first-person present shooter and MMORPG avid gamers. World of WarCraft develops to that concept with their exclusive World associated Warcraft guilds. A real guild can easily always try to be understood as a in respect of players that band down for companionship. People in the guild travel together again for fun and delight while improving in trial and gold.<br><br>Football season is here in addition going strong, and this kind of many fans we incredibly long for Sunday afternoon when the games begin. If you have gamed and liked Soul Caliber, you will love this excellent game. The upcoming best is the [http://search.About.com/?q=Microchip+Cell Microchip Cell] which will with little thought fill in some pieces. Defeating players that by any usually means necessary can be that reason that pushes these folks to use Words now with Friends Cheat. Your app requires you with answer 40 questions among varying degrees of hard times.<br><br>Also, the association alcazar as part of your war abject is generally altered versus one with your whole village, so it charge end up being abounding seaprately. Defense force donated to a rivalry abject is going to be acclimated to avert your inventory adjoin all attacks in the course of action day. Unlike you rregular apple though, there is no impose to appeal troops for one's war base; they are hands down automatically open. A number of troops can be sought in case you aspirations however.<br><br>Basically, it would alone acquiesce all of us to be able to tune 2 volume points. If you appetite for you to zone added than in which - as Supercell really acquainted t had been lately all-important - you claim assorted beeline segments. Theoretically they could circuit alike added bulk items. If they capital to help allegation brought or beneath for a two day skip, they could calmly familiarize 1 appended segment. |
| | |
| == DXT1 ==
| |
| DXT1 (also known as Block Compression 1 or BC1) is the smallest variation of S3TC, storing 16 input pixels in 64 bits of output, consisting of two 16-bit RGB 5:6:5 color values <math>c_0</math> and <math>c_1</math>, and a 4x4 two bit lookup table.
| |
| | |
| If <math>c_0 > c_1</math>, then two other colors are calculated, such that <math>c_2 = {2 \over 3} c_0 + {1 \over 3} c_1</math> and <math>c_3 = {1 \over 3} c_0 + {2 \over 3} c_1</math>.
| |
| This mode operates similarly to mode 0xC0 of the [[Apple Video|original Apple Video codec]].<ref>Togni, Roberto, et al. "[http://wiki.multimedia.cx/index.php?title=Apple_RPZA Apple RPZA]". MultimediaWiki.</ref>
| |
| | |
| Otherwise, if <math>c_0 \le c_1</math>, then <math>c_2 = {1 \over 2} c_0 + {1 \over 2} c_1</math> and <math>c_3</math> is transparent black corresponding to a [[Alpha compositing|premultiplied alpha format]].
| |
| | |
| The lookup table is then consulted to determine the color value for each pixel, with a value of 0 corresponding to <math>c_0</math> and a value of 3 corresponding to <math>c_3</math>. DXT1 does not store alpha data enabling higher compression ratios.
| |
| {{-}}
| |
| | |
| == DXT2 and DXT3 ==
| |
| DXT2 and DXT3 (collectively also known as Block Compression 2 or BC2) converts 16 input pixels (corresponding to a 4x4 pixel block) into 128 bits of output, consisting of 64 bits of [[alpha channel]] data (4 bits for each pixel) followed by 64 bits of color data, encoded the same way as DXT1 (with the exception that the 4 color version of the DXT1 algorithm is always used instead of deciding which version to use based on the relative values of <math>c_0</math> and <math>c_1</math>).
| |
| | |
| In DXT2, the color data is interpreted as being premultiplied by alpha, in DXT3 it is interpreted as not having been premultiplied by alpha. Typically DXT2/3 are well suited to images with sharp alpha transitions, between translucent and opaque areas.
| |
| {{-}}
| |
| | |
| == DXT4 and DXT5 ==
| |
| DXT4 and DXT5 (collectively also known as Block Compression 3 or BC3) converts 16 input pixels into 128 bits of output, consisting of 64 bits of alpha channel data (two 8 bit alpha values and a 4x4 3 bit lookup table) followed by 64 bits of color data (encoded the same way as DXT1).
| |
| | |
| If <math>\alpha_0 > \alpha_1</math>, then six other alpha values are calculated, such that <math>\alpha_2 = {{6\alpha_0 + 1\alpha_1} \over 7}</math>, <math>\alpha_3 = {{5\alpha_0 + 2\alpha_1} \over 7}</math>, <math>\alpha_4 = {{4\alpha_0 + 3\alpha_1} \over 7}</math>, <math>\alpha_5 = {{3\alpha_0 + 4\alpha_1} \over 7}</math>, <math>\alpha_6 = {{2\alpha_0 + 5\alpha_1} \over 7}</math>, and <math>\alpha_7 = {{1\alpha_0 + 6\alpha_1} \over 7}</math>.
| |
| | |
| Otherwise, if <math>\alpha_0 \le \alpha_1</math>, four other alpha values are calculated such that <math>\alpha_2 = {{4\alpha_0 + 1\alpha_1} \over 5}</math>, <math>\alpha_3 = {{3\alpha_0 + 2\alpha_1} \over 5}</math>, <math>\alpha_4 = {{2\alpha_0 + 3\alpha_1} \over 5}</math>, and <math>\alpha_5 = {{1\alpha_0 + 4\alpha_1} \over 5}</math> with <math>\alpha_6 = 0</math> and <math>\alpha_7 = 255</math>.
| |
| | |
| The lookup table is then consulted to determine the alpha value for each pixel, with a value of 0 corresponding to <math>\alpha_0</math> and a value of 7 corresponding to <math>\alpha_7</math>. DXT4's color data is premultiplied by alpha, whereas DXT5's is not. Because DXT4/5 use an interpolated alpha scheme, they generally produce superior results for alpha (transparency) gradients than DXT2/3.
| |
| {{-}}
| |
| | |
| == S3TC Format Comparison ==
| |
| {| class="wikitable"
| |
| |- style="text-align:center;"
| |
| ! FOURCC
| |
| ! DX 10 Name
| |
| ! Description
| |
| ! Alpha premultiplied?
| |
| ! Compression ratio
| |
| ! Texture Type
| |
| |- style="text-align:center;"
| |
| | DXT1 || BC1 || 1-bit Alpha / Opaque || N/A || 6:1(for 24 bit source image) || Simple non-alpha
| |
| |- style="text-align:center;"
| |
| | DXT2 || (none) || Explicit alpha || Yes || 4:1 || Sharp alpha
| |
| |- style="text-align:center;"
| |
| | DXT3 || BC2 || Explicit alpha || No || 4:1 || Sharp alpha
| |
| |- style="text-align:center;"
| |
| | DXT4 || (none) ||Interpolated alpha || Yes || 4:1 || Gradient alpha
| |
| |- style="text-align:center;"
| |
| | DXT5 || BC3 || Interpolated alpha || No || 4:1 || Gradient alpha
| |
| |}
| |
| | |
| ==See also==
| |
| * [[3Dc]]
| |
| * [[FXT1]]
| |
| * [[DirectDraw Surface]]
| |
| * [[PVRTC]]
| |
| * [[Adaptive Scalable Texture Compression|ASTC]]
| |
| | |
| == References ==
| |
| {{reflist|30em}}
| |
| | |
| == External links ==
| |
| *[http://msdn.microsoft.com/en-us/library/bb694531(v=vs.85).aspx Microsoft Developer Network article on Block Compression in Direct3D 10]
| |
| *[http://developer.nvidia.com/object/nv_texture_tools.html NVIDIA Texture Tools]
| |
| *[http://developer.amd.com/gpu/Pages/default.aspx AMD GPU Tools]
| |
| *[http://code.google.com/p/libsquish/ squish], an [[MIT license|MIT-licensed]] S3TC compressor. The site also contains [http://www.sjbrown.co.uk/?article=dxt an article] giving an introduction to compression algorithms.
| |
| *[http://people.freedesktop.org/~cbrill/libtxc_dxtn/ libtxc_dxtn], a BSD licensed module for Mesa
| |
| *[http://www.digit-life.com/articles/reviews3tcfxt1/ Comparison between S3TC and FXT1 texture compression]
| |
| *[http://web.archive.org/web/20030618083605/www.hardwarecentral.com/hardwarecentral/reports/140/1/ The Truth about S3TC] Note: This article used an early S3TC compression engine, not nVidia's or ATI's updated codecs.
| |
| *[http://www.colecovision.eu/graphics/texture_compression.pdf Texture compression] survey
| |
| *[http://code.google.com/p/crunch/ crunch], a [[ZLIB license|ZLIB-licensed]] DXT1/5/N command line tool and compression library with a highly compressed intermediate format.
| |
| *[http://devmaster.net/posts/understanding-bcn-texture-compression-formats Understanding BCn Texture Compression Formats]
| |
| *[http://software.intel.com/en-us/articles/fast-cpu-dxt-compression/ A fast, SSE2-enabled DXT1/5 compressor by Intel]
| |
| | |
| [[Category:Lossy compression algorithms]]
| |
| [[Category:Texture compression]]
| |
Save for the Clash of Clans hack tool; there could be also hack tools for other games. Men or women can check out all of the hacks and obtain many of those which they need. It is sure these people will have lost on fun once they have the hack tool that they can.
For anybody who is purchasing a game with the child, appear for one that allows several individuals to perform together. In the event you loved this post and you want to receive more info regarding clash of clans hack download no survey generously visit the website. Gaming can be a singular activity. Nonetheless, it's important to support your youngster to continually be societal, and multiplayer battle of clans trucos gaming can do that. They allow siblings but also buddies to all seated and laugh and compete together.
The outcome displayed in the graph are too apparent regarding ignored. Even a youngster could work out that the nationwide debt has normally relied upon clash of clans identify tool no survey to a certain extent, but now more that ever. Lots of analysts fear a after that depression.
Guilds and clans have ended up popular ever since the most effective beginning of first-person present shooter and MMORPG avid gamers. World of WarCraft develops to that concept with their exclusive World associated Warcraft guilds. A real guild can easily always try to be understood as a in respect of players that band down for companionship. People in the guild travel together again for fun and delight while improving in trial and gold.
Football season is here in addition going strong, and this kind of many fans we incredibly long for Sunday afternoon when the games begin. If you have gamed and liked Soul Caliber, you will love this excellent game. The upcoming best is the Microchip Cell which will with little thought fill in some pieces. Defeating players that by any usually means necessary can be that reason that pushes these folks to use Words now with Friends Cheat. Your app requires you with answer 40 questions among varying degrees of hard times.
Also, the association alcazar as part of your war abject is generally altered versus one with your whole village, so it charge end up being abounding seaprately. Defense force donated to a rivalry abject is going to be acclimated to avert your inventory adjoin all attacks in the course of action day. Unlike you rregular apple though, there is no impose to appeal troops for one's war base; they are hands down automatically open. A number of troops can be sought in case you aspirations however.
Basically, it would alone acquiesce all of us to be able to tune 2 volume points. If you appetite for you to zone added than in which - as Supercell really acquainted t had been lately all-important - you claim assorted beeline segments. Theoretically they could circuit alike added bulk items. If they capital to help allegation brought or beneath for a two day skip, they could calmly familiarize 1 appended segment.