Available since LÖVE 0.11.0
This enum replaces CanvasFormat and CompressedImageFormat.

Pixel formats for Textures, ImageData, and CompressedImageData.

Normal color formats


Name Components Bits per pixel Range Usable with Canvases Usable with ImageData Note(s)
r8 1 8 [0, 1] Yes
rg8 2 16 [0, 1] Yes
rgba8 4 32 [0, 1] Yes Yes
srgba8 4 32 [0, 1] Yes gamma-correct version of rgba8.
rgba16 4 64 [0, 1] Yes
r16f 1 16 [-65504, +65504] Yes
rg16f 2 32 [-65504, +65504] Yes
rgba16f 4 64 [-65504, +65504] Yes Yes
r32f 1 32 [-infinity, +infinity] Yes
rg32f 2 64 [-infinity, +infinity] Yes
rgba32f 4 128 [-infinity, +infinity] Yes Yes

Depth / stencil formats

All depth and stencil pixel formats are only usable in Canvases. They are non-readable by default, and Canvases with a depth/stencil format created with the readable flag can only access the depth values of their pixels in shaders (stencil values are not readable no matter what).


Name Bits per pixel Has depth Has stencil Note(s)
stencil8 8 Yes
depth16 16 Yes
depth24 24 Yes
depth32f 32 Yes
depth24stencil8 32 Yes Yes
depth32fstencil8 40 Yes Yes

Compressed formats

All compressed pixel formats are only usable in Images via CompressedImageData (compressed textures). Unlike regular color formats, these stay compressed in RAM and VRAM. This is good for saving memory space as well as improving performance, since the graphics card will be able to keep more of the image's pixels in its fast-access cache when drawing it.


Name Components Bits per pixel Range Note(s)
DXT1 3 4 [0, 1]

See Also

Other Languages