support compress texture file format.

This commit is contained in:
2020-08-06 21:27:58 +08:00
parent 7f2c5b0a1c
commit a5ab2edf12
8 changed files with 73 additions and 26 deletions

View File

@@ -13,20 +13,26 @@ namespace hgl
{
uint8 id[6]; ///<Tex2D\x1A
uint8 version; ///<必须为2
bool mipmaps;
uint8 mipmaps;
uint32 width;
uint32 height;
uint8 channels;
public:
const uint pixel_count()const{return width*height;}
};//struct Tex2DFileHeader
struct TexPixelFormat
{
char colors[4];
uint8 bits[4];
uint8 datatype;
public:
const uint pixel_count()const{return width*height;}
const uint pixel_bytes()const{return (bits[0]+bits[1]+bits[2]+bits[3])>>3;}
const uint total_bytes()const{return pixel_count()*pixel_bytes();}
};//
};//struct TexPixelFormat
#pragma pack(pop)
/**
@@ -38,6 +44,14 @@ namespace hgl
Tex2DFileHeader file_header;
union
{
TexPixelFormat pixel_format;
uint16 compress_format;
};
uint32 total_bytes;
protected:
virtual void *OnBegin(uint32)=0;