Options
All
  • Public
  • Public/Protected
  • All
Menu

Class used to create texture to support 2D GUI elements

see

https://doc.babylonjs.com/features/featuresDeepDive/gui/gui

Hierarchy

Index

Constructors

Properties

Accessors

Methods

Constructors

  • new AdvancedDynamicTexture(name: string, width?: number, height?: number, scene?: Nullable<Scene>, generateMipMaps?: boolean, samplingMode?: number, invertY?: boolean): AdvancedDynamicTexture
  • Creates a new AdvancedDynamicTexture

    Parameters

    • name: string

      defines the name of the texture

    • Optional width: number

      defines the width of the texture

    • Optional height: number

      defines the height of the texture

    • Optional scene: Nullable<Scene>

      defines the hosting scene

    • Optional generateMipMaps: boolean

      defines a boolean indicating if mipmaps must be generated (false by default)

    • Optional samplingMode: number

      defines the texture sampling mode (Texture.NEAREST_SAMPLINGMODE by default)

    • Optional invertY: boolean

      defines if the texture needs to be inverted on the y axis during loading (true by default)

    Returns AdvancedDynamicTexture

Properties

animations: Animation[]

Define the list of animation attached to the texture.

anisotropicFilteringLevel: number

With compliant hardware and browser (supporting anisotropic filtering) this defines the level of anisotropic filtering in the texture. The higher the better but the slower. This defaults to 4 as it seems to be the best tradeoff.

applyYInversionOnUpdate: boolean

Gets or sets a boolean indicating that the canvas must be reverted on Y when updating the texture

checkPointerEveryFrame: boolean

If set to true, every scene render will trigger a pointer event for the GUI if it is linked to a mesh or has controls linked to a mesh. This will allow you to catch the pointer moving around the GUI due to camera or mesh movements, but it has a performance cost.

delayLoadState: number

Define the current state of the loading sequence when in delayed load mode.

homogeneousRotationInUVTransform: boolean

Sets this property to true to avoid deformations when rotating the texture with non-uniform scaling

inspectableCustomProperties: Nullable<IInspectable[]>

List of inspectable custom properties (used by the Inspector)

see

https://doc.babylonjs.com/toolsAndResources/inspector#extensibility

invertZ: boolean

Is Z inverted in the texture (useful in a cube texture).

isRenderTarget: boolean

Define if the texture is a render target.

level: number

Intensity or strength of the texture. It is commonly used by materials to fine tune the intensity of the texture

metadata: any

Gets or sets an object used to store user defined information.

name: string

Define the name of the texture.

onBeginLayoutObservable: Observable<AdvancedDynamicTexture>

BABYLON.Observable event triggered before layout is evaluated

onBeginRenderObservable: Observable<AdvancedDynamicTexture>

BABYLON.Observable event triggered before the texture is rendered

onClipboardObservable: Observable<ClipboardInfo>

BABYLON.Observable event triggered each time an clipboard event is received from the rendering canvas

onControlPickedObservable: Observable<Control>

BABYLON.Observable event triggered each time a pointer down is intercepted by a control

onDisposeObservable: Observable<BaseTexture>

An event triggered when the texture is disposed.

onEndLayoutObservable: Observable<AdvancedDynamicTexture>

BABYLON.Observable event triggered after the layout was evaluated

onEndRenderObservable: Observable<AdvancedDynamicTexture>

BABYLON.Observable event triggered after the texture was rendered

onGuiReadyObservable: Observable<AdvancedDynamicTexture>

BABYLON.Observable that fires when the GUI is ready

onLoadObservable: Observable<Texture>

Observable triggered once the texture has been loaded.

optimizeUVAllocation: boolean

Gets or sets a boolean indicating that the texture should try to reduce shader code if there is no UV manipulation. (ie. when texture.getTextureMatrix().isIdentityAs3x2() returns true)

parseContent: ((serializedObject: any, scaleToSize?: boolean) => void)

Type declaration

    • (serializedObject: any, scaleToSize?: boolean): void
    • Recreate the content of the ADT from a JSON object

      deprecated

      Please use parseSerializedObject instead

      Parameters

      • serializedObject: any

        define the JSON serialized object to restore from

      • Optional scaleToSize: boolean

        defines whether to scale to texture to the saved size

      Returns void

premulAlpha: boolean

Gets or sets a boolean defining if alpha is stored as premultiplied

reservedDataStore: any

For internal use only. Please do not use.

snippetId: string

Snippet ID if the content was created from the snippet server

sphericalPolynomial: Nullable<SphericalPolynomial>

Get the polynomial representation of the texture data. This is mainly use as a fast way to recover IBL Diffuse irradiance data.

see

https://learnopengl.com/PBR/IBL/Diffuse-irradiance

uAng: number

Define an offset on the texture to rotate around the u coordinates of the UVs The angle is defined in radians.

see

https://doc.babylonjs.com/features/featuresDeepDive/materials/using/moreMaterials

uOffset: number

Define an offset on the texture to offset the u coordinates of the UVs

see

https://doc.babylonjs.com/features/featuresDeepDive/materials/using/moreMaterials#offsetting

uRotationCenter: number

Defines the center of rotation (U)

uScale: number

Define an offset on the texture to scale the u coordinates of the UVs

see

https://doc.babylonjs.com/features/featuresDeepDive/materials/using/moreMaterials#tiling

uniqueId: number

Gets or sets the unique id of the texture

url: Nullable<string>

Define the url of the texture.

vAng: number

Define an offset on the texture to rotate around the v coordinates of the UVs The angle is defined in radians.

see

https://doc.babylonjs.com/features/featuresDeepDive/materials/using/moreMaterials

vOffset: number

Define an offset on the texture to offset the v coordinates of the UVs

see

https://doc.babylonjs.com/features/featuresDeepDive/materials/using/moreMaterials#offsetting

vRotationCenter: number

Defines the center of rotation (V)

vScale: number

Define an offset on the texture to scale the v coordinates of the UVs

see

https://doc.babylonjs.com/features/featuresDeepDive/materials/using/moreMaterials#tiling

wAng: number

Define an offset on the texture to rotate around the w coordinates of the UVs (in case of 3d texture) The angle is defined in radians.

see

https://doc.babylonjs.com/features/featuresDeepDive/materials/using/moreMaterials

wRotationCenter: number

Defines the center of rotation (W)

wrapR: number
ValueTypeDescription
0CLAMP_ADDRESSMODE
1WRAP_ADDRESSMODE
2MIRROR_ADDRESSMODE
AllowGPUOptimizations: boolean

Indicates if some optimizations can be performed in GUI GPU management (the downside is additional memory/GPU texture memory used)

BILINEAR_SAMPLINGMODE: 2 = 2

Bilinear is mag = linear and min = linear and no mip

CLAMP_ADDRESSMODE: 0 = 0

Texture is not repeating outside of 0..1 UVs

CUBIC_MODE: 3 = 3

Cubic coordinates mode

DEFAULT_ANISOTROPIC_FILTERING_LEVEL: number

Default anisotropic filtering level for the application. It is set to 4 as a good tradeoff between perf and quality.

EQUIRECTANGULAR_MODE: 7 = 7

Equirectangular coordinates mode

EXPLICIT_MODE: 0 = 0

Explicit coordinates mode

FIXED_EQUIRECTANGULAR_MIRRORED_MODE: 9 = 9

Equirectangular Fixed Mirrored coordinates mode

FIXED_EQUIRECTANGULAR_MODE: 8 = 8

Equirectangular Fixed coordinates mode

ForceSerializeBuffers: boolean

Gets or sets a general boolean used to indicate that texture buffers must be saved as part of the serialization process. If no buffer exists, one will be created as base64 string from the internal webgl data.

INVCUBIC_MODE: 6 = 6

Inverse Cubic coordinates mode

LINEAR_LINEAR: 2 = 2

mag = linear and min = linear and mip = none

LINEAR_LINEAR_MIPLINEAR: 3 = 3

Trilinear is mag = linear and min = linear and mip = linear

LINEAR_LINEAR_MIPNEAREST: 11 = 11

Bilinear is mag = linear and min = linear and mip = nearest

LINEAR_NEAREST: 12 = 12

mag = linear and min = nearest and mip = none

LINEAR_NEAREST_MIPLINEAR: 10 = 10

mag = linear and min = nearest and mip = linear

LINEAR_NEAREST_MIPNEAREST: 9 = 9

mag = linear and min = nearest and mip = nearest

MIRROR_ADDRESSMODE: 2 = 2

Texture is repeating and mirrored

NEAREST_LINEAR: 7 = 7

mag = nearest and min = linear and mip = none

NEAREST_LINEAR_MIPLINEAR: 6 = 6

mag = nearest and min = linear and mip = linear

NEAREST_LINEAR_MIPNEAREST: 5 = 5

mag = nearest and min = linear and mip = nearest

NEAREST_NEAREST: 1 = 1

mag = nearest and min = nearest and mip = none

NEAREST_NEAREST_MIPLINEAR: 8 = 8

nearest is mag = nearest and min = nearest and mip = linear

NEAREST_NEAREST_MIPNEAREST: 4 = 4

mag = nearest and min = nearest and mip = nearest

NEAREST_SAMPLINGMODE: 1 = 1

nearest is mag = nearest and min = nearest and no mip

OnTextureLoadErrorObservable: Observable<BaseTexture>

This observable will notify when any texture had a loading error

PLANAR_MODE: 2 = 2

Planar coordinates mode

PROJECTION_MODE: 4 = 4

Projection coordinates mode

SKYBOX_MODE: 5 = 5

Inverse Cubic coordinates mode

SPHERICAL_MODE: 1 = 1

Spherical coordinates mode

SerializeBuffers: boolean

Gets or sets a general boolean used to indicate that textures containing direct data (buffers) must be saved as part of the serialization process

SnippetUrl: string

Define the Uurl to load snippets

TRILINEAR_SAMPLINGMODE: 3 = 3

Trilinear is mag = linear and min = linear and mip = linear

UseSerializedUrlIfAny: boolean

Gets or sets a boolean which defines if the texture url must be build from the serialized URL instead of just using the name and loading them side by side with the scene file

WRAP_ADDRESSMODE: 1 = 1

Texture is repeating outside of 0..1 UVs

Accessors

  • get background(): string
  • set background(value: string): void
  • Gets or sets the background color

    Returns string

  • Gets or sets the background color

    Parameters

    • value: string

    Returns void

  • get canRescale(): boolean
  • Gets the current state of canRescale

    Returns boolean

  • get clipboardData(): string
  • set clipboardData(value: string): void
  • Gets or set information about clipboardData

    Returns string

  • Gets or set information about clipboardData

    Parameters

    • value: string

    Returns void

  • get coordinatesIndex(): number
  • set coordinatesIndex(value: number): void
  • Define the UV channel to use starting from 0 and defaulting to 0. This is part of the texture as textures usually maps to one uv set.

    Returns number

  • Define the UV channel to use starting from 0 and defaulting to 0. This is part of the texture as textures usually maps to one uv set.

    Parameters

    • value: number

    Returns void

  • get coordinatesMode(): number
  • set coordinatesMode(value: number): void
  • How a texture is mapped.

    ValueTypeDescription
    0EXPLICIT_MODE
    1SPHERICAL_MODE
    2PLANAR_MODE
    3CUBIC_MODE
    4PROJECTION_MODE
    5SKYBOX_MODE
    6INVCUBIC_MODE
    7EQUIRECTANGULAR_MODE
    8FIXED_EQUIRECTANGULAR_MODE
    9FIXED_EQUIRECTANGULAR_MIRRORED_MODE

    Returns number

  • How a texture is mapped.

    ValueTypeDescription
    0EXPLICIT_MODE
    1SPHERICAL_MODE
    2PLANAR_MODE
    3CUBIC_MODE
    4PROJECTION_MODE
    5SKYBOX_MODE
    6INVCUBIC_MODE
    7EQUIRECTANGULAR_MODE
    8FIXED_EQUIRECTANGULAR_MODE
    9FIXED_EQUIRECTANGULAR_MIRRORED_MODE

    Parameters

    • value: number

    Returns void

  • get errorObject(): undefined | { exception?: any; message?: string }
  • If a loading error occurred this object will be populated with information about the error.

    Returns undefined | { exception?: any; message?: string }

  • Gets or sets the current focused control

    Returns Nullable<IFocusableControl>

  • Gets or sets the current focused control

    Parameters

    Returns void

  • get gammaSpace(): boolean
  • set gammaSpace(gamma: boolean): void
  • Define if the texture contains data in gamma space (most of the png/jpg aside bump). HDR texture are usually stored in linear space. This only impacts the PBR and Background materials

    Returns boolean

  • Define if the texture contains data in gamma space (most of the png/jpg aside bump). HDR texture are usually stored in linear space. This only impacts the PBR and Background materials

    Parameters

    • gamma: boolean

    Returns void

  • get getAlphaFromRGB(): boolean
  • set getAlphaFromRGB(value: boolean): void
  • Defines if the alpha value should be determined via the rgb values. If true the luminance of the pixel might be used to find the corresponding alpha value.

    Returns boolean

  • Defines if the alpha value should be determined via the rgb values. If true the luminance of the pixel might be used to find the corresponding alpha value.

    Parameters

    • value: boolean

    Returns void

  • get hasAlpha(): boolean
  • set hasAlpha(value: boolean): void
  • Define if the texture is having a usable alpha value (can be use for transparency or glossiness for instance).

    Returns boolean

  • Define if the texture is having a usable alpha value (can be use for transparency or glossiness for instance).

    Parameters

    • value: boolean

    Returns void

  • get idealHeight(): number
  • set idealHeight(value: number): void
  • get idealRatio(): number
  • get idealWidth(): number
  • set idealWidth(value: number): void
  • get invertY(): boolean
  • Gets a boolean indicating if the texture needs to be inverted on the y axis during loading

    Returns boolean

  • In case a better definition than spherical harmonics is required for the diffuse part of the environment. You can set the irradiance texture to rely on a texture instead of the spherical approach. This texture need to have the same characteristics than its parent (Cube vs 2d, coordinates mode, Gamma/Linear, RGBD).

    Returns Nullable<BaseTexture>

  • In case a better definition than spherical harmonics is required for the diffuse part of the environment. You can set the irradiance texture to rely on a texture instead of the spherical approach. This texture need to have the same characteristics than its parent (Cube vs 2d, coordinates mode, Gamma/Linear, RGBD).

    Parameters

    Returns void

  • get is2DArray(): boolean
  • set is2DArray(value: boolean): void
  • Define if the texture is a 2d array texture (webgl 2) or if false a 2d texture.

    Returns boolean

  • Define if the texture is a 2d array texture (webgl 2) or if false a 2d texture.

    Parameters

    • value: boolean

    Returns void

  • get is3D(): boolean
  • set is3D(value: boolean): void
  • Define if the texture is a 3d texture (webgl 2) or if false a 2d texture.

    Returns boolean

  • Define if the texture is a 3d texture (webgl 2) or if false a 2d texture.

    Parameters

    • value: boolean

    Returns void

  • get isBlocking(): boolean
  • set isBlocking(value: boolean): void
  • Is the texture preventing material to render while loading. If false, a default texture will be used instead of the loading one during the preparation step.

    Returns boolean

  • Is the texture preventing material to render while loading. If false, a default texture will be used instead of the loading one during the preparation step.

    Parameters

    • value: boolean

    Returns void

  • get isCube(): boolean
  • set isCube(value: boolean): void
  • Define if the texture is a cube texture or if false a 2d texture.

    Returns boolean

  • Define if the texture is a cube texture or if false a 2d texture.

    Parameters

    • value: boolean

    Returns void

  • get isForeground(): boolean
  • set isForeground(value: boolean): void
  • Gets or sets a boolean indicating if the texture must be rendered in background or foreground when in fullscreen mode

    Returns boolean

  • Gets or sets a boolean indicating if the texture must be rendered in background or foreground when in fullscreen mode

    Parameters

    • value: boolean

    Returns void

  • get isRGBD(): boolean
  • set isRGBD(value: boolean): void
  • Gets or sets whether or not the texture contains RGBD data.

    Returns boolean

  • Gets or sets whether or not the texture contains RGBD data.

    Parameters

    • value: boolean

    Returns void

  • Gets the underlying layer used to render the texture when in fullscreen mode

    Returns Nullable<Layer>

  • get linearSpecularLOD(): boolean
  • set linearSpecularLOD(value: boolean): void
  • With prefiltered texture, defined if the specular generation is based on a linear ramp. By default we are using a log2 of the linear roughness helping to keep a better resolution for average roughness values.

    Returns boolean

  • With prefiltered texture, defined if the specular generation is based on a linear ramp. By default we are using a log2 of the linear roughness helping to keep a better resolution for average roughness values.

    Parameters

    • value: boolean

    Returns void

  • get loadingError(): boolean
  • Was there any loading error?

    Returns boolean

  • get lodGenerationOffset(): number
  • set lodGenerationOffset(value: number): void
  • With prefiltered texture, defined the offset used during the prefiltering steps.

    Returns number

  • With prefiltered texture, defined the offset used during the prefiltering steps.

    Parameters

    • value: number

    Returns void

  • get lodGenerationScale(): number
  • set lodGenerationScale(value: number): void
  • With prefiltered texture, defined the scale used during the prefiltering steps.

    Returns number

  • With prefiltered texture, defined the scale used during the prefiltering steps.

    Parameters

    • value: number

    Returns void

  • get mimeType(): undefined | string
  • Returns the texture mime type if it was defined by a loader (undefined else)

    Returns undefined | string

  • get noMipmap(): boolean
  • Are mip maps generated for this texture or not.

    Returns boolean

  • get numLayoutCalls(): number
  • Gets the number of layout calls made the last time the ADT has been rendered

    Returns number

  • get numRenderCalls(): number
  • Gets the number of render calls made the last time the ADT has been rendered

    Returns number

  • set onDispose(callback: (() => void)): void
  • Callback triggered when the texture has been disposed. Kept for back compatibility, you can use the onDisposeObservable instead.

    Parameters

    • callback: (() => void)
        • (): void
        • Returns void

    Returns void

  • get renderAtIdealSize(): boolean
  • set renderAtIdealSize(value: boolean): void
  • get renderScale(): number
  • set renderScale(value: number): void
  • Gets or sets a number used to scale rendering size (2 means that the texture will be twice bigger). Useful when you want more antialiasing

    Returns number

  • Gets or sets a number used to scale rendering size (2 means that the texture will be twice bigger). Useful when you want more antialiasing

    Parameters

    • value: number

    Returns void

  • Gets the root container control

    Returns Container

  • get samplingMode(): number
  • Get the current sampling mode associated with the texture.

    Returns number

  • get textureFormat(): number
  • Get the texture underlying format (RGB, RGBA...)

    Returns number

  • get textureType(): number
  • Get the texture underlying type (INT, FLOAT...)

    Returns number

  • get uid(): string
  • Define the unique id of the texture in the scene.

    Returns string

  • get useInvalidateRectOptimization(): boolean
  • set useInvalidateRectOptimization(value: boolean): void
  • Gets or sets a boolean indicating if the InvalidateRect optimization should be turned on

    Returns boolean

  • Gets or sets a boolean indicating if the InvalidateRect optimization should be turned on

    Parameters

    • value: boolean

    Returns void

  • get useSmallestIdeal(): boolean
  • set useSmallestIdeal(value: boolean): void
  • get wrapU(): number
  • set wrapU(value: number): void
  • ValueTypeDescription
    0CLAMP_ADDRESSMODE
    1WRAP_ADDRESSMODE
    2MIRROR_ADDRESSMODE

    Returns number

  • ValueTypeDescription
    0CLAMP_ADDRESSMODE
    1WRAP_ADDRESSMODE
    2MIRROR_ADDRESSMODE

    Parameters

    • value: number

    Returns void

  • get wrapV(): number
  • set wrapV(value: number): void
  • ValueTypeDescription
    0CLAMP_ADDRESSMODE
    1WRAP_ADDRESSMODE
    2MIRROR_ADDRESSMODE

    Returns number

  • ValueTypeDescription
    0CLAMP_ADDRESSMODE
    1WRAP_ADDRESSMODE
    2MIRROR_ADDRESSMODE

    Parameters

    • value: number

    Returns void

Methods

  • Adds a new control to the root container

    Parameters

    • control: Control

      defines the control to add

    Returns AdvancedDynamicTexture

    the current texture

  • attach(): void
  • Attach to all scene events required to support pointer events

    Returns void

  • attachToMesh(mesh: AbstractMesh, supportPointerMove?: boolean): void
  • Connect the texture to a hosting mesh to enable interactions

    Parameters

    • mesh: AbstractMesh

      defines the mesh to attach to

    • Optional supportPointerMove: boolean

      defines a boolean indicating if pointer move events must be catched as well

    Returns void

  • Checks if the texture has the same transform matrix than another texture

    Parameters

    Returns boolean

    true if the transforms are the same, else false

  • clear(): void
  • Clears the texture

    Returns void

  • Clones the ADT

    Parameters

    • Optional newName: string

      defines the name of the new ADT

    Returns AdvancedDynamicTexture

    the clone of the ADT

  • dispose(): void
  • Release all resources

    Returns void

  • drawText(text: string, x: undefined | null | number, y: undefined | null | number, font: string, color: null | string, clearColor: null | string, invertY?: boolean, update?: boolean): void
  • Draws text onto the texture

    Parameters

    • text: string

      defines the text to be drawn

    • x: undefined | null | number

      defines the placement of the text from the left

    • y: undefined | null | number

      defines the placement of the text from the top when invertY is true and from the bottom when false

    • font: string

      defines the font to be used with font-style, font-size, font-name

    • color: null | string

      defines the color used for the text

    • clearColor: null | string

      defines the color for the canvas, use null to not overwrite canvas

    • Optional invertY: boolean

      defines the direction for the Y axis (default is true - y increases downwards)

    • Optional update: boolean

      defines whether texture is immediately update (default is true)

    Returns void

  • executeOnAllControls(func: ((control: Control) => void), container?: Container): void
  • Function used to execute a function on all controls

    Parameters

    • func: ((control: Control) => void)

      defines the function to execute

    • Optional container: Container

      defines the container where controls belong. If null the root container will be used

    Returns void

  • forceSphericalPolynomialsRecompute(): void
  • Force recomputation of spherical polynomials. Can be useful if you generate a cubemap multiple times (from a probe for eg) and you need the proper polynomials each time

    Returns void

  • Get the base size of the texture. It can be different from the size if the texture has been resized for POT for instance

    Returns ISize

    the base size

  • Returns an array containing the root container. This is mostly used to let the Inspector introspects the ADT

    Returns Container[]

    an array containing the rootContainer

  • getClassName(): string
  • Get the current class name of the texture useful for serialization or dynamic coding.

    Returns string

    "AdvancedDynamicTexture"

  • Will return the first control with the given name

    Parameters

    • name: string

      defines the name to search for

    Returns Nullable<Control>

    the first control found or null

  • getControlsByType(typeName: string): Control[]
  • Will return all controls with the given type name

    Parameters

    • typeName: string

      defines the type name to search for

    Returns Control[]

    an array of all controls found

  • getDescendants(directDescendantsOnly?: boolean, predicate?: ((control: Control) => boolean)): Control[]
  • Will return all controls that are inside this texture

    Parameters

    • Optional directDescendantsOnly: boolean

      defines if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered

    • Optional predicate: ((control: Control) => boolean)

      defines an optional predicate that will be called on every evaluated child, the predicate must return true for a given child to be part of the result, otherwise it will be ignored

    Returns Control[]

    all child controls

  • Get screen coordinates for a vector3

    Parameters

    • position: Vector3

      defines the position to project

    • worldMatrix: Matrix

      defines the world matrix to use

    Returns Vector2

    the projected position

  • Get screen coordinates for a vector3

    Parameters

    • position: Vector3

      defines the position to project

    • worldMatrix: Matrix

      defines the world matrix to use

    Returns Vector3

    the projected position with Z

  • getReflectionTextureMatrix(): Matrix
  • Get the current matrix used to apply reflection. This is useful to rotate an environment texture for instance.

    Returns Matrix

    The reflection texture transform

  • getRefractionTextureMatrix(): Matrix
  • Gets a suitable rotate/transform matrix when the texture is used for refraction. There's a separate function from getReflectionTextureMatrix because refraction requires a special configuration of the matrix in right-handed mode.

    Returns Matrix

    The refraction matrix

  • Get the scene the texture belongs to.

    Returns Nullable<Scene>

    the scene or null if undefined

  • Get the size of the texture.

    Returns ISize

    the texture size.

  • getTextureMatrix(uBase?: number): Matrix
  • Get the current texture matrix which includes the requested offsetting, tiling and rotation components.

    Parameters

    • Optional uBase: number

    Returns Matrix

    the transform matrix of the texture.

  • guiIsReady(): boolean
  • Returns true if all the GUI components are ready to render

    Returns boolean

  • invalidateRect(invalidMinX: number, invalidMinY: number, invalidMaxX: number, invalidMaxY: number): void
  • Invalidates a rectangle area on the gui texture

    Parameters

    • invalidMinX: number

      left most position of the rectangle to invalidate in the texture

    • invalidMinY: number

      top most position of the rectangle to invalidate in the texture

    • invalidMaxX: number

      right most position of the rectangle to invalidate in the texture

    • invalidMaxY: number

      bottom most position of the rectangle to invalidate in the texture

    Returns void

  • isReady(): boolean
  • Get if the texture is ready to be used (downloaded, converted, mip mapped...).

    Returns boolean

    true if fully ready

  • isReadyOrNotBlocking(): boolean
  • Get if the texture is ready to be consumed (either it is ready or it is not blocking)

    Returns boolean

    true if ready, not blocking or if there was an error loading the texture

  • markAsDirty(): void
  • Marks the texture as dirty forcing a complete update

    Returns void

  • Move the focus to a specific control

    Parameters

    Returns void

  • moveToNonOverlappedPosition(overlapGroup?: number | Control[], deltaStep?: number, repelFactor?: number): void
  • Moves overlapped controls towards a position where it is not overlapping anymore. Please note that this method alters linkOffsetXInPixels and linkOffsetYInPixels.

    Parameters

    • Optional overlapGroup: number | Control[]

      the overlap group which will be processed or undefined to process all overlap groups

    • Optional deltaStep: number

      the step size (speed) to reach the target non overlapping position (default 0.1)

    • Optional repelFactor: number

      how much is the control repelled by other controls

    Returns void

  • Recreate the content of the ADT from a snippet saved by the GUI editor

    Parameters

    • snippetId: string

      defines the snippet to load

    • Optional scaleToSize: boolean

      defines whether to scale to texture to the saved size

    Returns Promise<AdvancedDynamicTexture>

    a promise that will resolve on success

  • Recreate the content of the ADT from a url json

    Parameters

    • url: string

      defines the url to load

    • Optional scaleToSize: boolean

      defines whether to scale to texture to the saved size

    Returns Promise<AdvancedDynamicTexture>

    a promise that will resolve on success

  • parseSerializedObject(serializedObject: any, scaleToSize?: boolean): void
  • Recreate the content of the ADT from a JSON object

    Parameters

    • serializedObject: any

      define the JSON serialized object to restore from

    • Optional scaleToSize: boolean

      defines whether to scale to texture to the saved size

    Returns void

  • This function will run a pointer event on this ADT and will trigger any pointer events on any controls This will work on a fullscreen ADT only. For mesh based ADT, simulate pointer events using the scene directly.

    Parameters

    • x: number

      pointer X on the canvas for the picking

    • y: number

      pointer Y on the canvas for the picking

    • Optional pi: Nullable<PointerInfoPre>

      optional pointer information

    Returns void

  • readPixels(faceIndex?: number, level?: number, buffer?: Nullable<ArrayBufferView>, flushRenderer?: boolean, noDataConversion?: boolean, x?: number, y?: number, width?: number, height?: number): Nullable<Promise<ArrayBufferView>>
  • Reads the pixels stored in the webgl texture and returns them as an ArrayBuffer. This will returns an RGBA array buffer containing either in values (0-255) or float values (0-1) depending of the underlying buffer type.

    Parameters

    • Optional faceIndex: number

      defines the face of the texture to read (in case of cube texture)

    • Optional level: number

      defines the LOD level of the texture to read (in case of Mip Maps)

    • Optional buffer: Nullable<ArrayBufferView>

      defines a user defined buffer to fill with data (can be null)

    • Optional flushRenderer: boolean

      true to flush the renderer from the pending commands before reading the pixels

    • Optional noDataConversion: boolean

      false to convert the data to Uint8Array (if texture type is UNSIGNED_BYTE) or to Float32Array (if texture type is anything but UNSIGNED_BYTE). If true, the type of the generated buffer (if buffer==null) will depend on the type of the texture

    • Optional x: number

      defines the region x coordinates to start reading from (default to 0)

    • Optional y: number

      defines the region y coordinates to start reading from (default to 0)

    • Optional width: number

      defines the region width to read from (default to the texture size at level)

    • Optional height: number

      defines the region width to read from (default to the texture size at level)

    Returns Nullable<Promise<ArrayBufferView>>

    The Array buffer promise containing the pixels data.

  • registerClipboardEvents(): void
  • Register the clipboard Events onto the canvas

    Returns void

  • releaseInternalTexture(): void
  • Release and destroy the underlying lower level texture aka internalTexture.

    Returns void

  • Removes a control from the root container

    Parameters

    • control: Control

      defines the control to remove

    Returns AdvancedDynamicTexture

    the current texture

  • scale(ratio: number): void
  • Scales the texture

    Parameters

    • ratio: number

      the scale factor to apply to both width and height

    Returns void

  • scaleTo(width: number, height: number): void
  • Resizes the texture

    Parameters

    • width: number

      the new width

    • height: number

      the new height

    Returns void

  • serialize(): any
  • Serializes the dynamic texture. The scene should be ready before the dynamic texture is serialized

    Returns any

    a serialized dynamic texture object

  • serializeContent(): any
  • Serializes the entire GUI system

    Returns any

    an object with the JSON serialized data

  • toString(): string
  • Return a string representation of the texture.

    Returns string

    the texture as a string

  • unRegisterClipboardEvents(): void
  • Unregister the clipboard Events from the canvas

    Returns void

  • update(invertY?: boolean, premulAlpha?: boolean, allowGPUOptimization?: boolean): void
  • Updates the texture

    Parameters

    • Optional invertY: boolean

      defines the direction for the Y axis (default is true - y increases downwards)

    • Optional premulAlpha: boolean

      defines if alpha is stored as premultiplied (default is false)

    • Optional allowGPUOptimization: boolean

      true to allow some specific GPU optimizations (subject to engine feature "allowGPUOptimizationsForGUI" being true)

    Returns void

  • updateSamplingMode(samplingMode: number): void
  • Update the sampling mode of the texture. Default is Trilinear mode.

    ValueTypeDescription
    1NEAREST_SAMPLINGMODE or NEAREST_NEAREST_MIPLINEARNearest is: mag = nearest, min = nearest, mip = linear
    2BILINEAR_SAMPLINGMODE or LINEAR_LINEAR_MIPNEARESTBilinear is: mag = linear, min = linear, mip = nearest
    3TRILINEAR_SAMPLINGMODE or LINEAR_LINEAR_MIPLINEARTrilinear is: mag = linear, min = linear, mip = linear
    4NEAREST_NEAREST_MIPNEAREST
    5NEAREST_LINEAR_MIPNEAREST
    6NEAREST_LINEAR_MIPLINEAR
    7NEAREST_LINEAR
    8NEAREST_NEAREST
    9LINEAR_NEAREST_MIPNEAREST
    10LINEAR_NEAREST_MIPLINEAR
    11LINEAR_LINEAR
    12LINEAR_NEAREST

    mag: magnification filter (close to the viewer) min: minification filter (far from the viewer) mip: filter used between mip map levels

    Parameters

    • samplingMode: number

      Define the new sampling mode of the texture

    Returns void

  • updateURL(url: string, buffer?: Nullable<string | ArrayBufferView | Blob | ArrayBuffer | HTMLImageElement | ImageBitmap>, onLoad?: (() => void), forcedExtension?: string): void
  • Update the url (and optional buffer) of this texture if url was null during construction.

    Parameters

    • url: string

      the url of the texture

    • Optional buffer: Nullable<string | ArrayBufferView | Blob | ArrayBuffer | HTMLImageElement | ImageBitmap>

      the buffer of the texture (defaults to null)

    • Optional onLoad: (() => void)

      callback called when the texture is loaded (defaults to null)

        • (): void
        • Returns void

    • Optional forcedExtension: string

      defines the extension to use to pick the right loader

    Returns void

  • Creates a new AdvancedDynamicTexture in projected mode (ie. attached to a mesh)

    Parameters

    • mesh: AbstractMesh

      defines the mesh which will receive the texture

    • Optional width: number

      defines the texture width (1024 by default)

    • Optional height: number

      defines the texture height (1024 by default)

    • Optional supportPointerMove: boolean

      defines a boolean indicating if the texture must capture move events (true by default)

    • Optional onlyAlphaTesting: boolean

      defines a boolean indicating that alpha blending will not be used (only alpha testing) (false by default)

    • Optional invertY: boolean

      defines if the texture needs to be inverted on the y axis during loading (true by default)

    • Optional materialSetupCallback: ((mesh: AbstractMesh, uniqueId: string, texture: AdvancedDynamicTexture, onlyAlphaTesting: boolean) => void)

      defines a custom way of creating and setting up the material on the mesh

    Returns AdvancedDynamicTexture

    a new AdvancedDynamicTexture

  • Creates a new AdvancedDynamicTexture in projected mode (ie. attached to a mesh) BUT do not create a new material for the mesh. You will be responsible for connecting the texture

    Parameters

    • mesh: AbstractMesh

      defines the mesh which will receive the texture

    • Optional width: number

      defines the texture width (1024 by default)

    • Optional height: number

      defines the texture height (1024 by default)

    • Optional supportPointerMove: boolean

      defines a boolean indicating if the texture must capture move events (true by default)

    • Optional invertY: boolean

      defines if the texture needs to be inverted on the y axis during loading (true by default)

    Returns AdvancedDynamicTexture

    a new AdvancedDynamicTexture

  • CreateFromBase64String(data: string, name: string, scene: Scene, noMipmapOrOptions?: boolean | ITextureCreationOptions, invertY?: boolean, samplingMode?: number, onLoad?: Nullable<(() => void)>, onError?: Nullable<(() => void)>, format?: number, creationFlags?: number): Texture
  • Creates a texture from its base 64 representation.

    Parameters

    • data: string

      Define the base64 payload without the data: prefix

    • name: string

      Define the name of the texture in the scene useful fo caching purpose for instance

    • scene: Scene

      Define the scene the texture should belong to

    • Optional noMipmapOrOptions: boolean | ITextureCreationOptions

      defines if the texture will require mip maps or not or set of all options to create the texture

    • Optional invertY: boolean

      define if the texture needs to be inverted on the y axis during loading

    • Optional samplingMode: number

      define the sampling mode we want for the texture while fetching from it (Texture.NEAREST_SAMPLINGMODE...)

    • Optional onLoad: Nullable<(() => void)>

      define a callback triggered when the texture has been loaded

    • Optional onError: Nullable<(() => void)>

      define a callback triggered when an error occurred during the loading session

    • Optional format: number

      define the format of the texture we are trying to load (Engine.TEXTUREFORMAT_RGBA...)

    • Optional creationFlags: number

      specific flags to use when creating the texture (Constants.TEXTURE_CREATIONFLAG_STORAGE for storage textures, for eg)

    Returns Texture

    the created texture

  • Creates a new AdvancedDynamicTexture in fullscreen mode. In this mode the texture will rely on a layer for its rendering. This allows it to be treated like any other layer. As such, if you have a multi camera setup, you can set the layerMask on the GUI as well. LayerMask is set through advancedTexture.layer.layerMask

    Parameters

    • name: string

      defines name for the texture

    • Optional foreground: boolean

      defines a boolean indicating if the texture must be rendered in foreground (default is true)

    • Optional scene: Nullable<Scene>

      defines the hosting scene

    • Optional sampling: number

      defines the texture sampling mode (Texture.BILINEAR_SAMPLINGMODE by default)

    • Optional adaptiveScaling: boolean

      defines whether to automatically scale root to match hardwarescaling (false by default)

    Returns AdvancedDynamicTexture

    a new AdvancedDynamicTexture

  • LoadFromDataString(name: string, buffer: any, scene: Scene, deleteBuffer?: boolean, noMipmapOrOptions?: boolean | ITextureCreationOptions, invertY?: boolean, samplingMode?: number, onLoad?: Nullable<(() => void)>, onError?: Nullable<((message?: string, exception?: any) => void)>, format?: number, creationFlags?: number): Texture
  • Creates a texture from its data: representation. (data: will be added in case only the payload has been passed in)

    Parameters

    • name: string

      Define the name of the texture in the scene useful fo caching purpose for instance

    • buffer: any

      define the buffer to load the texture from in case the texture is loaded from a buffer representation

    • scene: Scene

      Define the scene the texture should belong to

    • Optional deleteBuffer: boolean

      define if the buffer we are loading the texture from should be deleted after load

    • Optional noMipmapOrOptions: boolean | ITextureCreationOptions

      defines if the texture will require mip maps or not or set of all options to create the texture

    • Optional invertY: boolean

      define if the texture needs to be inverted on the y axis during loading

    • Optional samplingMode: number

      define the sampling mode we want for the texture while fetching from it (Texture.NEAREST_SAMPLINGMODE...)

    • Optional onLoad: Nullable<(() => void)>

      define a callback triggered when the texture has been loaded

    • Optional onError: Nullable<((message?: string, exception?: any) => void)>

      define a callback triggered when an error occurred during the loading session

    • Optional format: number

      define the format of the texture we are trying to load (Engine.TEXTUREFORMAT_RGBA...)

    • Optional creationFlags: number

      specific flags to use when creating the texture (Constants.TEXTURE_CREATIONFLAG_STORAGE for storage textures, for eg)

    Returns Texture

    the created texture

  • Parse the JSON representation of a texture in order to recreate the texture in the given scene.

    Parameters

    • parsedTexture: any

      Define the JSON representation of the texture

    • scene: Scene

      Define the scene the parsed texture should be instantiated in

    • rootUrl: string

      Define the root url of the parsing sequence in the case of relative dependencies

    Returns Nullable<BaseTexture>

    The parsed texture if successful

  • Recreate the content of the ADT from a url json

    Parameters

    • url: string

      defines the url to load

    • Optional scaleToSize: boolean

      defines whether to scale to texture to the saved size

    • Optional appendToAdt: AdvancedDynamicTexture

      if provided the snippet will be appended to the adt. Otherwise a fullscreen ADT will be created.

    Returns Promise<AdvancedDynamicTexture>

    a promise that will resolve on success

  • Recreate the content of the ADT from a snippet saved by the GUI editor

    Parameters

    • snippetId: string

      defines the snippet to load

    • Optional scaleToSize: boolean

      defines whether to scale to texture to the saved size

    • Optional appendToAdt: AdvancedDynamicTexture

      if provided the snippet will be appended to the adt. Otherwise a fullscreen ADT will be created.

    Returns Promise<AdvancedDynamicTexture>

    a promise that will resolve on success

  • WhenAllReady(textures: BaseTexture[], callback: (() => void)): void
  • Helper function to be called back once a list of texture contains only ready textures.

    Parameters

    • textures: BaseTexture[]

      Define the list of textures to wait for

    • callback: (() => void)

      Define the callback triggered once the entire list will be ready

        • (): void
        • Returns void

    Returns void

  • _CreateVideoTexture(name: Nullable<string>, src: string | string[] | HTMLVideoElement, scene: Nullable<Scene>, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number, settings?: Partial<VideoTextureSettings>, onError?: Nullable<((message?: string, exception?: any) => void)>, format?: number): VideoTexture

Legend

  • Constructor
  • Property
  • Method
  • Accessor
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Property
  • Method
  • Static property
  • Static method

Settings

Theme