mirror of
https://github.com/love2d/love.git
synced 2026-08-17 11:00:31 +02:00
ImageData can track whether they're meant to be loaded into a Texture with a non-sRGB format when gamma correct rendering is enabled.
Fixes #1556. * Add ImageData/CompressedImageData:setLinear and ImageData/CompressedImageData:isLinear. The flag is used as a hint when loading a texture from the data to determine if the format should not be treated as sRGB-encoded. The 'linear' flag in newImage overrides this. * love.graphics.readbackTexture automatically sets the linear flag on ImageData it returns when the texture's format is linear. This allows an ImageData generated via readback to be fed back into a new Texture and the format will match the original Canvas. * Also clean up some image decoding code.
This commit is contained in:
@@ -62,7 +62,7 @@ public:
|
||||
static love::Type type;
|
||||
|
||||
ImageData(Data *data);
|
||||
ImageData(int width, int height, PixelFormat format = PIXELFORMAT_RGBA8_UNORM);
|
||||
ImageData(int width, int height, PixelFormat format);
|
||||
ImageData(int width, int height, PixelFormat format, void *data, bool own);
|
||||
ImageData(const ImageData &c);
|
||||
virtual ~ImageData();
|
||||
@@ -116,7 +116,6 @@ public:
|
||||
ImageData *clone() const override;
|
||||
void *getData() const override;
|
||||
size_t getSize() const override;
|
||||
bool isSRGB() const override;
|
||||
|
||||
size_t getPixelSize() const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user