Added GL_EXT_texture_compression_s3tc support.

GL_S3_s3tc, which Quake 3 previously supported, is legacy. This new codepath
 is the common, vendor-neutral extension to get the same results.
This commit is contained in:
Ryan C. Gordon 2008-06-13 02:28:51 +00:00
parent a98fed9ee2
commit c923872ca2
3 changed files with 54 additions and 14 deletions

View file

@ -182,6 +182,7 @@ void R_ImageList_f( void ) {
ri.Printf( PRINT_ALL, "RGB8" );
break;
case GL_RGB4_S3TC:
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
ri.Printf( PRINT_ALL, "S3TC " );
break;
case GL_RGBA4:
@ -602,7 +603,11 @@ static void Upload32( unsigned *data,
}
else
{
if ( glConfig.textureCompression == TC_S3TC )
if ( glConfig.textureCompression == TC_S3TC_ARB )
{
internalFormat = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT;
}
else if ( glConfig.textureCompression == TC_S3TC )
{
internalFormat = GL_RGB4_S3TC;
}

View file

@ -151,7 +151,8 @@ typedef enum {
*/
typedef enum {
TC_NONE,
TC_S3TC
TC_S3TC, // this is for the GL_S3_s3tc extension.
TC_S3TC_ARB // this is for the GL_EXT_texture_compression_s3tc extension.
} textureCompression_t;
typedef enum {