AbstractTexture: Implement Save using new common methods

This commit is contained in:
Stenzek
2017-10-30 22:00:15 +10:00
parent 56afebeb44
commit c2cc128f1b
3 changed files with 28 additions and 11 deletions

View File

@ -17,8 +17,8 @@ class AbstractTexture
public:
explicit AbstractTexture(const TextureConfig& c);
virtual ~AbstractTexture();
virtual void Bind(unsigned int stage) = 0;
bool Save(const std::string& filename, unsigned int level);
struct RawTextureInfo
{
@ -43,6 +43,8 @@ public:
virtual void Load(u32 level, u32 width, u32 height, u32 row_length, const u8* buffer,
size_t buffer_size) = 0;
bool Save(const std::string& filename, unsigned int level);
static bool IsCompressedFormat(AbstractTextureFormat format);
static size_t CalculateStrideForFormat(AbstractTextureFormat format, u32 row_length);
static size_t GetTexelSizeForFormat(AbstractTextureFormat format);