Added support for DXT1/3/5 and BC5/7 compressed textures via love.image.CompressedData. Some internals are still iffy.

- added a new CompressedData type to love.image
- added love.image.isCompressed(file or data)
- love.graphics.newImage automatically tests for compression when loading a file
- added love.graphics.isSupported strings for DXT, BC5, and BC7

Compressed textures meant to be used on the GPU offer huge performance gains when
- loading the texture from a file
- loading the texture from RAM to VRAM
- loading mipmaps
- rendering

--HG--
branch : image-CompressedData
This commit is contained in:
Alex Szpakowski
2013-04-04 19:09:18 -03:00
parent 7e658861d7
commit 5301026f3c
27 changed files with 1902 additions and 87 deletions
+7 -7
View File
@@ -39,14 +39,19 @@ ImageData::~ImageData()
delete mutex;
}
int ImageData::getSize() const
{
return getWidth()*getHeight()*sizeof(pixel);
}
void *ImageData::getData() const
{
return data;
}
int ImageData::getSize() const
bool ImageData::inside(int x, int y) const
{
return getWidth()*getHeight()*sizeof(pixel);
return x >= 0 && x < getWidth() && y >= 0 && y < getHeight();
}
int ImageData::getWidth() const
@@ -59,11 +64,6 @@ int ImageData::getHeight() const
return height;
}
bool ImageData::inside(int x, int y) const
{
return x >= 0 && x < getWidth() && y >= 0 && y < getHeight();
}
void ImageData::setPixel(int x, int y, pixel c)
{
if (!inside(x, y))