lovr.data.newImage

Creates a new Image. Image data can be loaded and decoded from an image file, or a raw block of pixels with a specified width, height, and format can be created.


Load image data from a file.

image = lovr.data.newImage(filename, flip)

Arguments

NameTypeDefaultDescription
filenamestring The filename of the image to load.
flipbooleantrue Whether to vertically flip the image on load. This should be true for normal textures, and false for textures that are going to be used in a cubemap.

Returns

NameTypeDescription
imageImage The new Image.

Create an Image with a given size and pixel format.

image = lovr.data.newImage(width, height, format, data)

Arguments

NameTypeDefaultDescription
widthnumber The width of the texture.
heightnumber The height of the texture.
formatTextureFormatrgba The format of the texture's pixels.
dataBlobnil Raw pixel values to use as the contents. If nil, the data will all be zero.

Returns

NameTypeDescription
imageImage The new Image.

Clone an existing Image.

image = lovr.data.newImage(source)

Arguments

NameTypeDescription
sourceImage The Image to clone.

Returns

NameTypeDescription
imageImage The new Image.

Decode image data from a Blob.

image = lovr.data.newImage(blob, flip)

Arguments

NameTypeDefaultDescription
blobBlob The Blob containing image data to decode.
flipbooleantrue Whether to vertically flip the image on load. This should be true for normal textures, and false for textures that are going to be used in a cubemap.

Returns

NameTypeDescription
imageImage The new Image.

Notes

The supported image file formats are png, jpg, hdr, dds (DXT1, DXT3, DXT5), ktx, and astc.

Only 2D textures are supported for DXT/ASTC.

Currently textures loaded as KTX need to be in DXT/ASTC formats.

See also