From Lukasz Izdebski, "Texture: added support for GL_EXT_texture_compression_rgtc, I added support (read and write ) for BC4 BC5 Block Compression to dds file format."
This commit is contained in:
@@ -332,6 +332,10 @@ unsigned int Image::computeNumComponents(GLenum pixelFormat)
|
||||
case(GL_COMPRESSED_RGBA_S3TC_DXT1_EXT): return 4;
|
||||
case(GL_COMPRESSED_RGBA_S3TC_DXT3_EXT): return 4;
|
||||
case(GL_COMPRESSED_RGBA_S3TC_DXT5_EXT): return 4;
|
||||
case(GL_COMPRESSED_SIGNED_RED_RGTC1_EXT): return 1;
|
||||
case(GL_COMPRESSED_RED_RGTC1_EXT): return 1;
|
||||
case(GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT): return 2;
|
||||
case(GL_COMPRESSED_RED_GREEN_RGTC2_EXT): return 2;
|
||||
case(GL_COLOR_INDEX): return 1;
|
||||
case(GL_STENCIL_INDEX): return 1;
|
||||
case(GL_DEPTH_COMPONENT): return 1;
|
||||
@@ -436,6 +440,12 @@ unsigned int Image::computePixelSizeInBits(GLenum format,GLenum type)
|
||||
case(GL_COMPRESSED_RGBA_S3TC_DXT1_EXT): return 4;
|
||||
case(GL_COMPRESSED_RGBA_S3TC_DXT3_EXT): return 8;
|
||||
case(GL_COMPRESSED_RGBA_S3TC_DXT5_EXT): return 8;
|
||||
|
||||
case(GL_COMPRESSED_SIGNED_RED_RGTC1_EXT): return 4;
|
||||
case(GL_COMPRESSED_RED_RGTC1_EXT): return 4;
|
||||
case(GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT): return 8;
|
||||
case(GL_COMPRESSED_RED_GREEN_RGTC2_EXT): return 8;
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
||||
@@ -588,6 +598,14 @@ unsigned int Image::getTotalSizeInBytesIncludingMipmaps() const
|
||||
case(GL_COMPRESSED_RGBA_S3TC_DXT5_EXT):
|
||||
sizeOfLastMipMap = maximum(sizeOfLastMipMap, 16u); // block size of 16
|
||||
break;
|
||||
case(GL_COMPRESSED_SIGNED_RED_RGTC1_EXT):
|
||||
case(GL_COMPRESSED_RED_RGTC1_EXT):
|
||||
sizeOfLastMipMap = maximum(sizeOfLastMipMap, 8u); // block size of 8
|
||||
break;
|
||||
case(GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT):
|
||||
case(GL_COMPRESSED_RED_GREEN_RGTC2_EXT):
|
||||
sizeOfLastMipMap = maximum(sizeOfLastMipMap, 16u); // block size of 8
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user