How do I compress a texture in OpenGL?

Texture data does not have to be initially compressed to take advantage of OpenGL support for compressed textures. You can request that OpenGL compress a texture image when loaded by using one of the values in Table 9.1 for the internalFormat parameter of any of the glTexImage functions.

What is ASTC texture compression?

Adaptable Scalable Texture Compression (ASTC) is a form of Texture Compression that uses variable block sizes, rather than a single fixed size. ASTC is designed to effectively obsolete all (or at least most) prior compressed formats by providing all of the features of the others plus more, all in one format.

What is DXT1 format?

DXT1 Format. A DXT1-compressed image is an RGB image format. As such, the alpha of any color is assumed to be 1. Each 4×4 block takes up 64-bits of data, so compared to a 24-bit RGB format, it provides 6:1 compression.

What is S3TC texture compression in OpenGL?

S3 Texture Compression or S3TC is a compression scheme for three or four color channel textures. This functionality is exposed by the ubiquitous extension EXT_texture_compression_s3tc. There are 3 forms of S3TC allowed by OpenGL. S3TC is a technique for compressing images for use as textures.

Why do I need to manually compress images in OpenGL?

When using OpenGL to compress a texture, the GL implementation will assume any pixel with an alpha value < 0.5 should have an alpha of 0. This is another reason to manually compress images. The DXT3 format is an RGBA format. Each 4×4 block takes up 128 bits of data.

Can images compressed with S3 Texture Compression be in the sRGB colorspace?

Images compressed with S3 texture compression can also be in the sRGB colorspace. This extension does not qualify as a ubiquitous extension, but it is widely supported nevertheless.

What is S3TC compression?

S3 Texture Compression or S3TC is a compression scheme for three or four color channel textures. This functionality is exposed by the ubiquitous extension EXT_texture_compression_s3tc.