flash.display3D.textures

# Texture - AS3

Package | flash.display3D.textures
Class | public final class Texture
Inheritance | Texture TextureBase EventDispatcher Object

The Texture class represents a 2-dimensional texture uploaded to a rendering context.

Defines a 2D texture for use during rendering.

Texture cannot be instantiated directly. Create instances by using Context3D `createTexture()` method.

Related API Elements

flash.display3D.Context3D.createTexture()
flash.display3D.Context3D.setTextureAt()

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. | EventDispatcher
|  | dispatchEvent(event:Event):Boolean Dispatches an event into the event flow. | EventDispatcher
|  | dispose():void Frees all GPU resources associated with this texture. | TextureBase
|  | hasEventListener(type:String):Boolean Checks whether the EventDispatcher object has any listeners registered for a specific type of event. | EventDispatcher
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void Removes a listener from the EventDispatcher object. | EventDispatcher
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | uploadCompressedTextureFromByteArray(data:ByteArray, byteArrayOffset:uint, async:Boolean = false):void Uploads a compressed texture in Adobe Texture Format (ATF) from a ByteArray object. | Texture
|  | uploadFromBitmapData(source:BitmapData, miplevel:uint = 0):void Uploads a texture from a BitmapData object. | Texture
|  | uploadFromBitmapDataAsync(source:BitmapData, miplevel:uint = 0):void Uploads miplevel 0 for a texture from a BitmapData object asynchronously. | Texture
|  | uploadFromByteArray(data:ByteArray, byteArrayOffset:uint, miplevel:uint = 0):void Uploads a texture from a ByteArray. | Texture
|  | uploadFromByteArrayAsync(data:ByteArray, byteArrayOffset:uint, miplevel:uint = 0):void Uploads miplevel 0 for a texture from a ByteArray asynchronously. | Texture
|  | valueOf():Object Returns the primitive value of the specified object. | Object
|  | willTrigger(type:String):Boolean Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. | EventDispatcher

Events
Click for more information on events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | activate | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher
|  | deactivate | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher

Method Detail

### uploadCompressedTextureFromByteArray

()
method

`public function uploadCompressedTextureFromByteArray(data:ByteArray, byteArrayOffset:uint, async:Boolean = false):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 11, AIR 3

Uploads a compressed texture in Adobe Texture Format (ATF) from a ByteArray object. ATF file version 2 requires SWF version 21 or newer and ATF file version 3 requires SWF version 29 or newer. For ATF files created with png image without alpha the `format` string given during `Context3DObject::createTexture` should be "COMPRESSED" and for ATF files created with png image with alpha the `format` string given during `Context3DObject::createTexture` should be "COMPRESSED_ALPHA".

Parameters

| `data:ByteArray` — a byte array that contains a compressed texture including mipmaps. The ByteArray object must use the little endian format.
| `byteArrayOffset:uint` — the position in the byte array at which to start reading the texture data.
| `async:Boolean` (default = `false`)`` — If true, this function returns immediately. Any draw method which attempts to use the texture will fail until the upload completes successfully. Upon successful upload, this `CubeTexture` object dispatches `Event.TEXTURE_READY`. Default value: false.

Throws

| `TypeError` — Null Pointer Error: when `data` is null.
| `ArgumentError` — Texture Decoding Failed: when the compression format of this object cannot be derived from the format of the compressed data in `data` or when the SWF version is incompatible with the ATF file version.
| `ArgumentError` — Texture Size Does Not Match: when the width and height of the decompressed texture do not equal the dimensions of this Texture object.
| `ArgumentError` — Miplevel Too Large: if the mip level of the decompressed texture is greater than that implied by the size of the texture.
| `ArgumentError` — Texture Format Mismatch: if the decoded ATF bytes don't contain a texture compatible with this texture's format.
| `Error` — 3768: The `Stage3D` API may not be used during background execution.
| `RangeError` — Bad Input Size: when there is integer overflow of `byteArrayOffset` or if `byteArrayOffset` + 6 is greater than the length of `data`, or if the number of bytes available from `byteArrayOffset` to the end of the `data` byte array is less than the amount of data required for ATF texture.

### uploadFromBitmapData

()
method

`public function uploadFromBitmapData(source:BitmapData, miplevel:uint = 0):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 11, AIR 3

Uploads a texture from a BitmapData object.

Parameters

| `source:BitmapData` — a bitmap.
| `miplevel:uint` (default = `0`)`` — the mip level to be loaded, level zero being the top-level full-resolution image.

Throws

| `TypeError` — Null Pointer Error: when `source` is null.
| `ArgumentError` — Miplevel Too Large: if the specified mip level is greater than that implied by the larger of the Texture's dimensions.
| `ArgumentError` — Invalid BitmapData Error: if `source` if the BitmapData object does not contain a valid cube texture face. The image must have sides equal to a power of two, and the correct size for the miplevel specified.
| `ArgumentError` — Texture Format Mismatch: if the texture format is Context3DTextureFormat.COMPRESSED or Context3DTextureFormat.COMPRESSED_ALPHA and the code is executing on a mobile platform where runtime texture compression is not supported.
| `Error` — 3768: The `Stage3D` API may not be used during background execution.

### uploadFromBitmapDataAsync

()
method

`public function uploadFromBitmapDataAsync(source:BitmapData, miplevel:uint = 0):void`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 24

Uploads miplevel 0 for a texture from a BitmapData object asynchronously. Any draw method which attempts to use the texture fails until the upload completes successfully. Upon successful upload, this `Texture` object dispatches `Event.TEXTURE_READY`. Event.TEXTURE_READY is a callback to indicate that the asynchronous call received for the texture object have been executed successfully. Upon any error during the background upload , this `Texture` object dispatches `Event.ERROREVENT`.

Parameters

| `source:BitmapData` — a bitmap
| `miplevel:uint` (default = `0`)``

Throws

| `TypeError` — Null Pointer Error: when `source` is null.
| `ArgumentError` — Invalid BitmapData Error: if `source` if the BitmapData object does not contain a valid texture. The image must be equal to a power of two, and the correct size for the miplevel specified.
| `ArgumentError` — Texture Format Mismatch: if the texture format is Context3DTextureFormat.COMPRESSED or Context3DTextureFormat.COMPRESSED_ALPHA and the code is executing on a mobile platform where runtime texture compression is not supported.
| `ArgumentError` — Asynchronous upload supported for miplevel 0 only.
| `Error` — 3768: The `Stage3D` API may not be used during background execution.

### uploadFromByteArray

()
method

`public function uploadFromByteArray(data:ByteArray, byteArrayOffset:uint, miplevel:uint = 0):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 11, AIR 3

Uploads a texture from a ByteArray.

Parameters

| `data:ByteArray` — a byte array that is contains enough bytes in the textures internal format to fill the texture. rgba textures are read as bytes per texel component (1 or 4). float textures are read as floats per texel component (1 or 4). The ByteArray object must use the little endian format.
| `byteArrayOffset:uint` — the position in the byte array object at which to start reading the texture data.
| `miplevel:uint` (default = `0`)`` — the mip level to be loaded, level zero is the top-level, full-resolution image.

Throws

| `TypeError` — Null Pointer Error: when `data` is null.
| `ArgumentError` — Miplevel Too Large: if the specified mip level is greater than that implied by the larger of the Texture's dimensions.
| `RangeError` — Bad Input Size: if the number of bytes available from `byteArrayOffset` to the end of the `data` byte array is less than the amount of data required for a texture of this mip level or if `byteArrayOffset` is greater than or equal to the length of `data`.
| `ArgumentError` — Texture Format Mismatch: if the texture format is Context3DTextureFormat.COMPRESSED or Context3DTextureFormat.COMPRESSED_ALPHA and the code is executing on a mobile platform where runtime texture compression is not supported.
| `Error` — 3768: The `Stage3D` API may not be used during background execution.

### uploadFromByteArrayAsync

()
method

`public function uploadFromByteArrayAsync(data:ByteArray, byteArrayOffset:uint, miplevel:uint = 0):void`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 24

Uploads miplevel 0 for a texture from a ByteArray asynchronously. Any draw method which attempts to use the texture fails until the upload completes successfully. Upon successful upload, this `Texture` object dispatches `Event.TEXTURE_READY`. Event.TEXTURE_READY is a callback to indicate that the asynchronous calls received for the texture object have been executed successfully. Upon any error during the background upload, this `Texture` object dispatches `Event.ERROREVENT`.

Parameters

| `data:ByteArray` — a byte array that contains enough bytes in the textures internal format to fill the texture. rgba textures are read as bytes per texel component (1 or 4). float textures are read as floats per texel component (1 or 4). The ByteArray object must use the little endian format.
| `byteArrayOffset:uint` — the position in the byte array object at which to start reading the texture data.
| `miplevel:uint` (default = `0`)``

Throws

| `TypeError` — Null Pointer Error: when `data` is null.
| `RangeError` — Bad Input Size: if the number of bytes available from `byteArrayOffset` to the end of the `data` byte array is less than the amount of data required for a texture of mip level 0 or if `byteArrayOffset` is greater than or equal to the length of `data`.
| `ArgumentError` — Texture Format Mismatch: if the texture format is Context3DTextureFormat.COMPRESSED or Context3DTextureFormat.COMPRESSED_ALPHA and the code is executing on a mobile platform where runtime texture compression is not supported.
| `ArgumentError` — Asynchronous upload supported for miplevel 0 only.
| `Error` — 3768: The `Stage3D` API may not be used during background execution.
| `Error` — if an async upload has been initiated on a texture object and there is another asynchronous upload call on the same texture object.

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00