Murl Engine Lua Addon API  Version 1.0 beta
Murl.Resource.IImage

The IImage resource object interface.

An image resource holds a (possibly compressed) bitmap image in one of the available image formats, such as PNG, JPG etc.


Table members

Methods


GetTextureType()

Get the texture type represented by the image.

Murl.IEnums.TextureType GetTextureType()

Returns
Murl.IEnums.TextureType The texture type.

GetNumberOfStreams()

Get the number of individual image streams.

Integer GetNumberOfStreams()

Returns
Integer The number of streams.

GetNumberOfLayers()

Get the number of image layers. For non-array images, this always returns 1.

Integer GetNumberOfLayers()

Returns
Integer The number of layers.

GetNumberOfFaces()

Get the number of image faces. For flat images or arrays, this always returns 1. For cubemap images or arrays, this returns 6.

Integer GetNumberOfFaces()

Returns
Integer The number of faces.

GetStreamIndex(layerIndex, faceIndex)

Get the stream index for a given layer and face index.

Integer GetStreamIndex(Integer layerIndex, Integer faceIndex)

Parameters
layerIndexThe layer index, from 0 to GetNumberOfLayers()-1.
faceIndexThe face index, from 0 to GetNumberOfFaces()-1.
Returns
Integer The stream index from 0 to GetNumberOfStreams()-1, or -1 if any of the given parameters is out of range.

GetNumberOfMipLevels(streamIndex)

Get the number of actual MIP levels stored in the image resource.

Integer GetNumberOfMipLevels(Integer streamIndex)

Parameters
streamIndexThe index of the stream, from 0 to GetNumberOfStreams()-1.
Returns
Integer The number of MIP levels.

GetPixelSizeX(streamIndex)

Get the image's horizontal size in pixels, at the base MIP level.

Integer GetPixelSizeX(Integer streamIndex)

Parameters
streamIndexThe index of the stream, from 0 to GetNumberOfStreams()-1.
Returns
Integer The horizontal size.

GetPixelSizeY(streamIndex)

Get the image's vertical size in pixels, at the base MIP level.

Integer GetPixelSizeY(Integer streamIndex)

Parameters
streamIndexThe index of the stream, from 0 to GetNumberOfStreams()-1.
Returns
Integer The vertical size.

GetNativePixelFormat(streamIndex)

Get the image's native pixel format.

Murl.IEnums.PixelFormat GetNativePixelFormat(Integer streamIndex)

Parameters
streamIndexThe index of the stream, from 0 to GetNumberOfStreams()-1.
Returns
Murl.IEnums.PixelFormat The native pixel format.

GetPreferredPixelFormat(streamIndex)

Get the image's preferred pixel format. If the given image has no actual preference for the format used, this method returns IEnums::PIXEL_FORMAT_UNDEFINED. Otherwise, a specific format is returned.

Murl.IEnums.PixelFormat GetPreferredPixelFormat(Integer streamIndex)

Parameters
streamIndexThe index of the stream, from 0 to GetNumberOfStreams()-1.
Returns
Murl.IEnums.PixelFormat The preferred pixel format.

GetForcedPixelFormat(streamIndex)

Get the image's forced pixel format, when no conversion is available. If a pixel format converter is available that can convert the image's native format to some other format, this method should return IEnums::PIXEL_FORMAT_UNDEFINED. Otherwise, a specific format is returned. This is usually the case for images using some compressed format like ETC1, PVRTC or similar.

Murl.IEnums.PixelFormat GetForcedPixelFormat(Integer streamIndex)

Parameters
streamIndexThe index of the stream, from 0 to GetNumberOfStreams()-1.
Returns
Murl.IEnums.PixelFormat The forced pixel format.

GetVideoStreamFormat(streamIndex)

Get the image's actual format.

Murl.IEnums.VideoStreamFormat GetVideoStreamFormat(Integer streamIndex)

Parameters
streamIndexThe index of the stream, from 0 to GetNumberOfStreams()-1.
Returns
Murl.IEnums.VideoStreamFormat The stream format.

CreateStream(streamIndex, mipMapGen)

Create an IVideoStream object from the resource, with default pixel format and size.

Murl.IVideoStream CreateStream(Integer streamIndex, Murl.IEnums.MipMapGenerationMode mipMapGen)

Parameters
streamIndexThe index of the stream, from 0 to GetNumberOfStreams()-1.
mipMapGenThe MIP map generation mode.
Returns
Murl.IVideoStream The newly created stream object, or null if failed.

CreateStream(streamIndex, pixelFormat, pixelSizeX, pixelSizeY, divisor, mipMapGen)

Create an IVideoStream object from the resource, with custom pixel format and size.

Murl.IVideoStream CreateStream(Integer streamIndex, Murl.IEnums.PixelFormat pixelFormat, Integer pixelSizeX, Integer pixelSizeY, Integer divisor, Murl.IEnums.MipMapGenerationMode mipMapGen)

Parameters
streamIndexThe index of the stream, from 0 to GetNumberOfStreams()-1.
pixelFormatThe desired pixel format.
pixelSizeXThe horizontal size of the stream in pixels, at the base MIP level.
pixelSizeYThe vertical size of the stream in pixels, at the base MIP level.
divisorAn optional power-of-two prescale factor (use 1 for a 1:1 image).
mipMapGenThe MIP map generation mode.
Returns
Murl.IVideoStream The newly created stream object, or null if failed.

CreateDefaultBinary(data)

Create a default binary encoded image.

Boolean, Murl.Data CreateDefaultBinary(Murl.Data data)

Parameters
dataThe Data object to receive the encoded image.
Returns
Boolean true if successful.
Murl.Data data The Data object to receive the encoded image.

CreateBinary(data, streamFormat, pixelFormat, sizeX, sizeY)

Create a binary encoded image, explicit stream and pixel formats and size.

Boolean, Murl.Data CreateBinary(Murl.Data data, Murl.IEnums.VideoStreamFormat streamFormat, Murl.IEnums.PixelFormat pixelFormat, Integer sizeX, Integer sizeY)

Parameters
dataThe Data object to receive the encoded image.
streamFormatThe stream format to use.
pixelFormatThe pixel format to use.
sizeXThe width in pixels, or 0 to encode the image using its original width.
sizeYThe height in pixels, or 0 to encode the image using its original height.
Returns
Boolean true if successful.
Murl.Data data The Data object to receive the encoded image.