Something to begin with (found on google):
Extends glTexImage2D to accept S3TC compressed texture format.
I. Changes to glTexImage2D
The general form of glTexImage2D is:
glTexImage2D( Glenum target,
Glint level,
Glint internalformat,
Glsizei width,
Glsizei height,
Glint border,
Glenum format,
Glenum type,
Const Glvoid *pixels )
-
Changes to the format Parameter
GL_RGB_S3TC (0x83A0)
GL_RGB4_S3TC (0x83A1)
GL_RGBA_S3TC (0x83A2) (currently not used)
GL_RGBA4_S3TC (0x83A3) (currently not used)
-
Changes to the internalformat Parameter
GL_RGB_S3TC (0x83A0)
GL_RGB4_S3TC (0x83A1)
GL_RGBA_S3TC (0x83A2) (currently not used)
GL_RGBA4_S3TC (0x83A3) (currently not used)
GL_RGB_S3TC and GL_RGBA_S3TC let the driver pick the type – for now just GL_RGB4_S3TC and GL_RGBA4_S3TC
respectively.
- Changes to the level Parameter
Level takes negative numbers for GL_RGB_S3TC and GL_RGBA_S3TC formats only. Any other formats will generate an
error.
The negative number indicates the pixels contain 0 to abs(level) mipmaps.
- Pixels
For GL_RGB_S3TC, GL_RGB4_S3TC, GL_RGBA_S3TC, and GL_RGBA4_S3TC formats, pixels must be linear, and contain the
untiled compressed image.
II. Other Changes
- glGetString
GL_S3_s3tc is included in the string returned by GL_EXTENSIONS argument.
III. Limitations for the First Release
- glTexSubImage2D
glTexSubImage2D will be supported (though not in this version), but requires the starting position (x, y) of
an input image be at a 16 texel boundary, i.e.
x = 4 * n,
y = 4 * m
where m and n are some positive integer.
The width and height of a sub-image needs to be following:
Width = 4 * i,
Height = 4 * j
Where i > = 1 and j > = 1.
-
Format
The driver currently handle the formats and internalformats GL_RGB_S3TC and GL_RGB4_S3TC. The formats GL_RGB,
GL_RGBA, GL_BGR_EXT, and GL_BGRA_EXT and the internalformats GL_RGB_S3TC and GL_RGB4_S3TC are supported as
well. Any mixing of other formats is not handled.
-
glCopyTexImage2D
glCopyTexImage2D() is not supported.
IV. Permanent Limitations
GL_RGB_S3TC, GL_RGB4_S3TC, GL_RGBA_S3TC, and GL_RGBA4_S3TC are useful only for texture functions.
S3TC Texture Extension In OpenGL
Version 1.0
Date: 6/26/98
Extends glTexImage2D to accept S3TC compressed texture format.
I. Changes to glTexImage2D
The general form of glTexImage2D is:
glTexImage2D( Glenum target,
Glint level,
Glint internalformat,
Glsizei width,
Glsizei height,
Glint border,
Glenum format,
Glenum type,
Const Glvoid *pixels )
-
Changes to the format Parameter
GL_RGB_S3TC (0x83A0)
GL_RGB4_S3TC (0x83A1)
GL_RGBA_S3TC (0x83A2) (currently not used)
GL_RGBA4_S3TC (0x83A3) (currently not used)
-
Changes to the internalformat Parameter
GL_RGB_S3TC (0x83A0)
GL_RGB4_S3TC (0x83A1)
GL_RGBA_S3TC (0x83A2) (currently not used)
GL_RGBA4_S3TC (0x83A3) (currently not used)
GL_RGB_S3TC and GL_RGBA_S3TC let the driver pick the type – for now just GL_RGB4_S3TC and GL_RGBA4_S3TC
respectively.
- Changes to the level Parameter
Level takes negative numbers for GL_RGB_S3TC and GL_RGBA_S3TC formats only. Any other formats will generate an
error.
The negative number indicates the pixels contain 0 to abs(level) mipmaps.
- Pixels
For GL_RGB_S3TC, GL_RGB4_S3TC, GL_RGBA_S3TC, and GL_RGBA4_S3TC formats, pixels must be linear, and contain the
untiled compressed image.
II. Other Changes
- glGetString
GL_S3_s3tc is included in the string returned by GL_EXTENSIONS argument.
III. Limitations for the First Release
- glTexSubImage2D
glTexSubImage2D will be supported (though not in this version), but requires the starting position (x, y) of
an input image be at a 16 texel boundary, i.e.
x = 4 * n,
y = 4 * m
where m and n are some positive integer.
The width and height of a sub-image needs to be following:
Width = 4 * i,
Height = 4 * j
Where i > = 1 and j > = 1.
-
Format
The driver currently handle the formats and internalformats GL_RGB_S3TC and GL_RGB4_S3TC. The formats GL_RGB,
GL_RGBA, GL_BGR_EXT, and GL_BGRA_EXT and the internalformats GL_RGB_S3TC and GL_RGB4_S3TC are supported as
well. Any mixing of other formats is not handled.
-
glCopyTexImage2D
glCopyTexImage2D() is not supported.
IV. Permanent Limitations
GL_RGB_S3TC, GL_RGB4_S3TC, GL_RGBA_S3TC, and GL_RGBA4_S3TC are useful only for texture functions.