Difference between revisions of "TextureFormat"

(Added the srgb texture format)
Line 1: Line 1:
 
{{newin|[[0.9.0]]|090|type=enum}}
 
{{newin|[[0.9.0]]|090|type=enum}}
[[Canvas]] and [[Image]] texture formats.
+
[[Image]] texture formats.
 +
 
 +
As of LÖVE [[0.9.2]], [[Canvas]]es use [[CanvasFormat]]s rather than TextureFormats.
 
== Constants ==
 
== Constants ==
 
;normal: The default texture format: 8 bits per channel (32 bpp) RGBA. Color channel values range from 0-255 (0-1 in shaders.)
 
;normal: The default texture format: 8 bits per channel (32 bpp) RGBA. Color channel values range from 0-255 (0-1 in shaders.)

Revision as of 23:07, 2 March 2015

Available since LÖVE 0.9.0
This enum is not supported in earlier 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.
Available since LÖVE 0.9.1
This constant is not supported in earlier versions.
srgb
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.

See Also

Other Languages