TextureFormat
Available since LÖVE 0.9.0 and removed in LÖVE 0.10.0
This enum is not supported in earlier or later versions.
Image texture formats.
As of LÖVE 0.9.2, Canvases use CanvasFormats rather than TextureFormats.
Constants
- normal
- The default texture format: 8 bits per channel (32 bpp) RGBA. Color channel values range from 0-255 (0-1 in shaders.)
- hdr
- Only usable in Canvases. The high dynamic range texture format: floating point 16 bits per channel (64 bpp) RGBA. Color channel values inside the Canvas range from -infinity to +infinity.
- srgb Available since 0.9.1
- The same as
normal
, but the texture is interpreted as being in the sRGB color space. It will be decoded from sRGB to linear RGB when drawn or sampled from in a shader. For Canvases, this will also convert everything drawn to the Canvas from linear RGB to sRGB.
Notes
The HDR format is most useful when combined with pixel shaders. Effects such as tonemapped HDR with bloom can be accomplished, or the canvas can be used to store arbitrary non-color data such as positions which are then interpreted and used in a shader, as long as you draw the right things to the canvas.
The sRGB format should only be used when doing gamma-correct rendering, which is an advanced topic and it's easy to get color-spaces mixed up. If you're not sure whether you need this, you might want to avoid it. Read more about gamma-correct rendering here, here, and here.
Not all systems support the HDR and sRGB formats. Use love.graphics.isSupported to check before creating the Canvas or Image.