new(w:Int, h:Int, ?flags:Array<TextureFlags>, ?format:Null<TextureFormat>)


@:value(true)allowAsync:Bool = true


setResource(c:Channel, res:Image, ?srcChannel:Channel):Void

Inherited Variables

Defined by Texture


When the texture is used as render target, tells which depth buffer will be used. If set to null, depth testing is disabled.

read onlyflags:EnumFlags<TextureFlags>

read onlyheight:Int

read onlyid:Int

read onlylayerCount:Int

@:value(0.)lodBias:Float = 0.

read onlymipLevels:Int

read onlyname:String

realloc:() ‑> Void

If this callback is set, the texture can be re-allocated when the 3D context has been lost or when it's been free because of lack of memory.

read onlywidth:Int

Inherited Methods

Defined by Texture


@:value({ mipLevel : 0, face : 0 })capturePixels(face:Int = 0, mipLevel:Int = 0, ?region:IBounds):Pixels

Downloads the current texture data from the GPU. Beware, this is a very slow operation that shouldn't be done during rendering.

@:value({ layer : -1, alpha : 1. })clear(color:Int, alpha:Float = 1., layer:Int = -1):Void

@:value({ layer : -1, a : 0., b : 0., g : 0., r : 0. })clearF(r:Float = 0., g:Float = 0., b:Float = 0., a:Float = 0., layer:Int = -1):Void





In case of out of GPU memory, textures that hasn't been used for a long time will be disposed. Calling this will make this texture not considered for auto disposal.

resize(width:Int, height:Int):Void



Swap two textures, this is an immediate operation. BEWARE : if the texture is a cached image (hxd.res.Image), the swap will affect the cache!

@:value({ layer : 0, mipLevel : 0 })uploadBitmap(bmp:BitmapData, mipLevel:Int = 0, layer:Int = 0):Void

@:value({ layer : 0, mipLevel : 0 })uploadPixels(pixels:Pixels, mipLevel:Int = 0, layer:Int = 0):Void

waitLoad(f:() ‑> Void):Void

Some textures might take some time to load. You can check flags.has(Loading) or add a waitLoad callback which will get called either immediately if the texture is already loaded or when loading is complete.