S2TC a Compromise or Open Solution?

S2TC – Simple Super Texture Compression, a new way of compressing textures with a simple encoding (compressing) and decoding (decompressing) method is developed by Xonotic (former nexuiz) game developers. This acts as a replacement for S3TC a patent encumbered compression method used by many games to reduce the amount of data that is being transferred to the GPU. All modern graphics cards are now capable of decoding (decompressing) S3TC as it became a part of OpenGL and DirectX standards. But the algorithm is patented and it cannot be used by free software solutions like Mesa. Currently Mesa can make use of it when the system has a encoder (like a plugin) that is loaded at run time but there is no distribution to ship it or put it in their repositories to download so now there is no easy way for the end user to make use of it.

S2TC is a simpler algorithm for texture compression developed by Xonotic game developers as the game heavily relies on texture compression. If there is no S3TC then the places are rendered black. To avoid such a situation new algorithm is developed which is can be decompressed by any graphics processor that can decompress S3TC.

Advantage of S2TC is that all present graphics cards can decompress and render it of course except USB display devices (There is a way to accelerate 3D for USB display devices). There is a little quality trade off in using S2TC instead of S3TC but it is in a acceptable level. The Open Source drivers will be benefited using S2TC.

A free software implementation is available at https://github.com/divVerent/s2tc site. You can read the wiki at https://github.com/divVerent/s2tc/wiki for more information on the algorithm, need of S2TC, etc. The Github page has commits from past 5 days, recent commit happened just about 3 hours ago. In short S2TC can be considered as a special case of S3TC but without violating patent rights. Lets see how mesa developers react.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s