Available since LÖVE 11.0 |
This enum is not supported in earlier versions. |
Types of textures (2D, cubemap, etc.)
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.
When using a custom Shader, each texture type has a different GLSL type.
Image
(or sampler2D
) is a 2D texture.ArrayImage
(or sampler2DArray
) is an array texture.CubeImage
(or samplerCube
) is a cubemap texture.VolumeImage
(or sampler3D
) is a volume texture.
The Texel
shader function can be used to sample from all types of textures in a shader. Texel
is recommended instead of texture2D
, textureCube
etc., because the latter do not work across all versions of GLSL supported by LÖVE, whereas Texel does (GLSL 3 removed texture2D
and added a generic texture
function).
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.