TextureType

Available since LÖVE 0.11.0
This enum is not supported in earlier versions.

Types of textures (2D, cubemap, etc.)

Constants

2d
Regular 2D texture with width and height.
array
Several same-size 2D textures organized into a single object. Similar to a texture atlas / sprite sheet, but avoids sprite bleeding and other issues.
cube
Cubemap texture with 6 faces. Requires a custom shader (and Shader:send) to use. Sampling from a cube texture in a shader takes a 3D direction vector instead of a texture coordinate.
volume
3D texture with width, height, and depth. Requires a custom shader to use. Volume textures can have texture filtering applied along the 3rd axis.

Notes

Array textures can be rendered with love.graphics.drawLayer, with love.graphics.draw and a Quad via Quad:setLayer, or by sending it to a custom Shader. When getting the pixels of a layer of an Array Texture in a shader, a third texture coordinate component is used to choose which layer to get.

Each texture type has a different maximum size on a user's system. Use love.graphics.getSystemLimits to check.

Not all texture types are supported by all systems. love.graphics.getTextureTypes can check for support.

2D and cube texture types are supported everywhere. Array textures require a system that supports OpenGL 3 or OpenGL ES 3. Volume / 3D textures require a system that supports OpenGL 2 or OpenGL ES 3.

See Also

Other Languages