Class for creating a cube texture

Hierarchy

  • BaseTexture
    • CubeTexture

Constructors

  • Creates a cube texture to use with reflection for instance. It can be based upon dds or six images as well as prefiltered data.

    Returns

    the cube texture

    Parameters

    • rootUrl: string

      defines the url of the texture or the root name of the six images

    • sceneOrEngine: Scene | ThinEngine

      defines the scene or engine the texture is attached to

    • Optional extensions: Nullable<string[]>

      defines the suffixes add to the picture name in case six images are in use like _px.jpg...

    • Optional noMipmap: boolean

      defines if mipmaps should be created or not

    • Optional files: Nullable<string[]>

      defines the six files to load for the different faces in that order: px, py, pz, nx, ny, nz

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

      defines a callback triggered at the end of the file load if no errors occurred

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

      defines a callback triggered in case of error during load

    • Optional format: number

      defines the internal format to use for the texture once loaded

    • Optional prefiltered: boolean

      defines whether or not the texture is created from prefiltered data

    • Optional forcedExtension: any

      defines the extensions to use (force a special type of file to load) in case it is different from the file name

    • Optional createPolynomials: boolean

      defines whether or not to create polynomial harmonics from the texture data if necessary

    • Optional lodScale: number

      defines the scale applied to environment texture. This manages the range of LOD level used for IBL according to the roughness

    • Optional lodOffset: number

      defines the offset applied to environment texture. This manages first LOD level used for IBL according to the roughness

    • Optional loaderOptions: any

      options to be passed to the loader

    • Optional useSRGBBuffer: boolean

      Defines if the texture must be loaded in a sRGB GPU buffer (if supported by the GPU) (default: false)

    Returns CubeTexture

Properties

animations: BabylonAnimation[]

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.

boundingBoxPosition: Vector3

Gets or sets the center of the bounding box associated with the cube texture. It must define where the camera used to render the texture was set

See

https://doc.babylonjs.com/features/featuresDeepDive/materials/using/reflectionTexture#using-local-cubemap-mode

delayLoadState: number

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

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.

onDisposeObservable: Observable<BaseTexture>

An event triggered when the texture is disposed.

onLoadObservable: Observable<CubeTexture>

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)

reservedDataStore: any

For internal use only. Please do not use.

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

uniqueId: number

Gets or sets the unique id of the texture

url: string

The url of the texture

wrapR: number
Value Type Description
0 CLAMP_ADDRESSMODE
1 WRAP_ADDRESSMODE
2 MIRROR_ADDRESSMODE
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.

Accessors

  • get canRescale(): boolean
  • Get if the texture can rescale.

    Returns boolean

  • get coordinatesIndex(): number
  • Returns 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.

    Parameters

    • value: number

    Returns void

  • get coordinatesMode(): number
  • Returns number

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

    Value Type Description
    0 EXPLICIT_MODE
    1 SPHERICAL_MODE
    2 PLANAR_MODE
    3 CUBIC_MODE
    4 PROJECTION_MODE
    5 SKYBOX_MODE
    6 INVCUBIC_MODE
    7 EQUIRECTANGULAR_MODE
    8 FIXED_EQUIRECTANGULAR_MODE
    9 FIXED_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 }

  • get forcedExtension(): Nullable<string>
  • Gets the forced extension (if any)

    Returns Nullable<string>

  • get gammaSpace(): 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

    Returns boolean

  • set gammaSpace(gamma: boolean): void
  • Parameters

    • gamma: boolean

    Returns void

  • get getAlphaFromRGB(): boolean
  • Returns 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.

    Parameters

    • value: boolean

    Returns void

  • get hasAlpha(): boolean
  • Returns 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).

    Parameters

    • value: boolean

    Returns void

  • get irradianceTexture(): 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).

    Returns Nullable<BaseTexture>

  • set irradianceTexture(value: Nullable<BaseTexture>): void
  • Parameters

    • value: Nullable<BaseTexture>

    Returns void

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

    Returns boolean

  • set is2DArray(value: boolean): void
  • Parameters

    • value: boolean

    Returns void

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

    Returns boolean

  • set is3D(value: boolean): void
  • Parameters

    • value: boolean

    Returns void

  • get isBlocking(): boolean
  • Define if the texture is preventing a material to render or not. If not and the texture is not ready, the engine will use a default black texture instead.

    Returns boolean

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

    Returns boolean

  • set isCube(value: boolean): void
  • Parameters

    • value: boolean

    Returns void

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

    Returns boolean

  • set isRGBD(value: boolean): void
  • Parameters

    • value: boolean

    Returns void

  • get linearSpecularLOD(): 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.

    Returns boolean

  • set linearSpecularLOD(value: boolean): void
  • Parameters

    • value: boolean

    Returns void

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

    Returns boolean

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

    Returns number

  • set lodGenerationOffset(value: number): void
  • Parameters

    • value: number

    Returns void

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

    Returns number

  • set lodGenerationScale(value: number): void
  • Parameters

    • value: number

    Returns void

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

    Returns boolean

  • 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 rotationY(): number
  • Gets texture matrix rotation angle around Y axis radians.

    Returns number

  • set rotationY(value: number): void
  • Sets texture matrix rotation angle around Y axis in radians.

    Parameters

    • value: number

    Returns void

  • 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 wrapU(): number
  • Value Type Description
    0 CLAMP_ADDRESSMODE
    1 WRAP_ADDRESSMODE
    2 MIRROR_ADDRESSMODE

    Returns number

  • set wrapU(value: number): void
  • Parameters

    • value: number

    Returns void

  • get wrapV(): number
  • Value Type Description
    0 CLAMP_ADDRESSMODE
    1 WRAP_ADDRESSMODE
    2 MIRROR_ADDRESSMODE

    Returns number

  • set wrapV(value: number): void
  • Parameters

    • value: number

    Returns void

Methods

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

    Returns

    true if the transforms are the same, else false

    Parameters

    • texture: Nullable<BaseTexture>

      texture to check against

    Returns boolean

  • Makes a clone, or deep copy, of the cube texture

    Returns

    a new cube texture

    Returns CubeTexture

  • Delays loading of the cube texture

    Parameters

    • Optional forcedExtension: string

      defines the extension to use

    Returns void

  • Dispose the texture and release its associated resources.

    Returns 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

    the base size

    Returns ISize

  • Get the current class name of the texture useful for serialization or dynamic coding.

    Returns

    "CubeTexture"

    Returns string

  • Get the underlying lower level texture from Babylon.

    Returns

    the internal texture

    Returns Nullable<InternalTexture>

  • Returns the reflection texture matrix

    Returns

    the reflection texture matrix

    Returns 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

    The refraction matrix

    Returns Matrix

  • Get the scene the texture belongs to.

    Returns

    the scene or null if undefined

    Returns Nullable<Scene>

  • Get the size of the texture.

    Returns

    the texture size.

    Returns ISize

  • Get the texture transform matrix used to offset tile the texture for instance.

    Returns

    the transformation matrix

    Returns Matrix

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

    Returns

    true if fully ready

    Returns boolean

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

    Returns

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

    Returns boolean

  • 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.

    Returns

    The Array buffer promise containing the pixels data.

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

  • Release and destroy the underlying lower level texture aka internalTexture.

    Returns void

  • Scales the texture if is canRescale()

    Parameters

    • ratio: number

      the resize factor we want to use to rescale

    Returns void

  • Serialize the texture into a JSON representation that can be parsed later on.

    Returns

    the JSON representation of the texture

    Parameters

    • Optional allowEmptyName: boolean

      True to force serialization even if name is empty. Default: false

    Returns any

  • Sets the reflection texture matrix

    Parameters

    • value: Matrix

      Reflection texture matrix

    Returns void

  • Return a string representation of the texture.

    Returns

    the texture as a string

    Returns string

  • Update the sampling mode of the texture. Default is Trilinear mode.

    Value Type Description
    1 NEAREST_SAMPLINGMODE or NEAREST_NEAREST_MIPLINEAR Nearest is: mag = nearest, min = nearest, mip = linear
    2 BILINEAR_SAMPLINGMODE or LINEAR_LINEAR_MIPNEAREST Bilinear is: mag = linear, min = linear, mip = nearest
    3 TRILINEAR_SAMPLINGMODE or LINEAR_LINEAR_MIPLINEAR Trilinear is: mag = linear, min = linear, mip = linear
    4 NEAREST_NEAREST_MIPNEAREST
    5 NEAREST_LINEAR_MIPNEAREST
    6 NEAREST_LINEAR_MIPLINEAR
    7 NEAREST_LINEAR
    8 NEAREST_NEAREST
    9 LINEAR_NEAREST_MIPNEAREST
    10 LINEAR_NEAREST_MIPLINEAR
    11 LINEAR_LINEAR
    12 LINEAR_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

  • Update the url (and optional buffer) of this texture if url was null during construction.

    Parameters

    • url: string

      the url of the texture

    • Optional forcedExtension: string

      defines the extension to use

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

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

    • Optional prefiltered: boolean

      Defines whether the updated texture is prefiltered or not

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

      callback called if there was an error during the loading process (defaults to null)

    • Optional extensions: Nullable<string[]>

      defines the suffixes add to the picture name in case six images are in use like _px.jpg...

    • Optional delayLoad: boolean

      defines if the texture should be loaded now (false by default)

    • Optional files: Nullable<string[]>

      defines the six files to load for the different faces in that order: px, py, pz, nx, ny, nz

    Returns void

  • Creates a cube texture from an array of image urls

    Returns

    a cube texture

    Parameters

    • files: string[]

      defines an array of image urls

    • scene: Scene

      defines the hosting scene

    • Optional noMipmap: boolean

      specifies if mip maps are not used

    Returns CubeTexture

  • Creates and return a texture created from prefilterd data by tools like IBL Baker or Lys.

    Returns

    the prefiltered texture

    Parameters

    • url: string

      defines the url of the prefiltered texture

    • scene: Scene

      defines the scene the texture is attached to

    • Optional forcedExtension: any

      defines the extension of the file if different from the url

    • Optional createPolynomials: boolean

      defines whether or not to create polynomial harmonics from the texture data if necessary

    Returns CubeTexture

  • Parses text to create a cube texture

    Returns

    a cube texture

    Parameters

    • parsedTexture: any

      define the serialized text to read from

    • scene: Scene

      defines the hosting scene

    • rootUrl: string

      defines the root url of the cube texture

    Returns CubeTexture

  • 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

Generated using TypeDoc