Mercurial > love-experiments
diff src/modules/image/ImageData.cpp @ 1420:2a5ef265e040 image-CompressedData
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
| author | Alex Szpakowski <slime73@gmail.com> |
|---|---|
| date | Thu, 04 Apr 2013 19:09:18 -0300 |
| parents | d46820870f0a |
| children | 377f9dad7a2d |
line wrap: on
line diff
--- a/src/modules/image/ImageData.cpp Mon Apr 01 16:47:45 2013 -0300 +++ b/src/modules/image/ImageData.cpp Thu Apr 04 19:09:18 2013 -0300 @@ -39,14 +39,19 @@ 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 @@ 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))
