Static methods

staticdefault3DTexture():Texture3D

Returns a default 1x1x1 black 3D texture

Constructor

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

Methods

Inherited Variables

Defined by Texture

depthBuffer:Texture

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

@:bits(bits)filter:Filter

read onlyflags:EnumFlags<TextureFlags>

read onlyheight:Int

read onlyid:Int

read onlylayerCount:Int

lodBias:Float

read onlymipLevels:Int

@:bits(bits)mipMap:MipMap

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.

@:value(0)read onlyresidentMip:Int = 0

The most detailed mip level allocated on the GPU : mip levels before it are not allocated, and the texture is sampled starting at this level.

@:bits(bits,11)slice:Int

@:value(-1)read onlyvisibleFrame:Int = -1

For a Streamed texture, the last frame (hxd.Timer.frameCount) in which the texture was visible, see markVisible.

read onlywidth:Int

@:bits(bits)wrap:Wrap

Inherited Methods

Defined by Texture

alloc():Void

@: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

dispose():Void

hasStencil():Bool

isDepth():Bool

inlineisDisposed():Bool

isSRGB():Bool

inlinemarkVisible():Void

Records that the texture is used by something visible during the current frame. Streamed textures that are not visible lose mip levels when the streaming budget is exceeded (see hxd.res.TextureStream).

preventAutoDispose():Void

In case we run 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

setName(n:String):Void

setResidentMip(mip:Int):Bool

@: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.