Creates a new CubeTexture instance. The texture is not loaded until one of the load methods is called.
Protected
Optional
__canvasProtected
__formatProtected
__hasProtected
__heightProtected
Optional
__htmlProtected
Optional
__htmlProtected
Optional
__imgProtected
__internalProtected
__isProtected
__levelProtected
__mipProtected
__nameProtected
__startedProtected
__typeProtected
Optional
__uriProtected
__widthOptional
_recommendedCollection of tags associated with this object
The HDRI format used for this cube texture
The number of mipmap levels for this cube texture
Static
Readonly
InvalidInvalid object UID constant
Static
currentCurrent maximum object count for UID generation
Gets the height of the texture in pixels.
The texture height
Sets the height of the texture in pixels.
The new height value
Gets or creates an HTML canvas element with the texture content. If an image element exists, it will be drawn onto the canvas.
The HTML canvas element containing the texture data
Gets the HTML image element associated with this texture.
The HTML image element or undefined if not available
Checks if the texture is ready for use.
True if the texture is ready, false otherwise
Checks if the texture contains transparent pixels.
True if the texture has transparency, false otherwise
Gets the name of the texture.
The texture name
Sets the name of the texture.
The new texture name
Gets the unique object identifier
The object's UID
Checks if the texture has started loading.
True if loading has started, false otherwise
Gets the unique identifier for this texture.
The unique texture UID
Gets the unique name of this object
The unique name string
Gets the URI/URL of the texture source.
The texture URI or undefined if not set
Gets the width of the texture in pixels.
The texture width
Sets the width of the texture in pixels.
The new width value
Internal
Copies tag data from another RnObject instance to this object
The source RnObject to copy tags from
Generates a cube texture from typed arrays containing raw image data. This method allows creating cube textures from pre-processed image data with multiple mipmap levels.
Array of typed array objects for cubemap textures. Each element represents a mipmap level (index 0 is the base level). Each object contains six faces: posX, negX, posY, negY, posZ, negZ.
Width of the base level texture (mipmap level 0)
Height of the base level texture (mipmap level 0)
const cubeTexture = new CubeTexture();
const imageData = [{
posX: new Uint8Array(imageDataPosX),
negX: new Uint8Array(imageDataNegX),
posY: new Uint8Array(imageDataPosY),
negY: new Uint8Array(imageDataNegY),
posZ: new Uint8Array(imageDataPosZ),
negZ: new Uint8Array(imageDataNegZ)
}];
cubeTexture.generateTextureFromTypedArrays(imageData, 512, 512);
Retrieves image data from a rectangular region of the texture. Creates an internal canvas context if one doesn't exist.
The x-coordinate of the top-left corner
The y-coordinate of the top-left corner
The width of the region
The height of the region
ImageData object containing the pixel data
Gets a single pixel value at the specified coordinates as a specific type. Supports various color and vector types for different use cases.
The x-coordinate of the pixel
The y-coordinate of the pixel
The class type to return the pixel as (ColorRgb, ColorRgba, Vector3, etc.)
An instance of the specified type containing the pixel data
Gets the pixel data at the specified coordinates as a raw Uint8ClampedArray. This provides direct access to the RGBA values as 8-bit integers.
The x-coordinate of the pixel
The y-coordinate of the pixel
A Uint8ClampedArray containing the RGBA pixel data
Converts the texture data to a TextureDataFloat object with the specified number of channels. This is useful for processing texture data in floating-point format.
The number of channels to include in the output (1-4)
A TextureDataFloat object containing the converted pixel data
Imports an existing WebGL texture directly into this CubeTexture instance. This method allows wrapping existing WebGL textures without creating new ones.
The existing WebGL texture object to import
Optional width of the texture (default: 0)
Optional height of the texture (default: 0)
Loads cube texture images from files asynchronously. This method loads six cube faces from image files and creates a cube texture.
Configuration options for loading the cube texture
Base URL path to the cube texture files
The HDRI format to use for the texture
Whether to use positive/negative naming convention (posX, negX, etc.)
Number of mipmap levels to generate
Loads cube texture from Basis compressed texture data. Basis is a universal texture compression format that can be transcoded to various GPU formats.
The Basis compressed texture data as a Uint8Array
Optional texture parameters for filtering and wrapping
Magnification filter (default: Linear)
Minification filter (default: LinearMipmapLinear)
Texture wrapping mode for S coordinate (default: Repeat)
Texture wrapping mode for T coordinate (default: Repeat)
Checks if this object has all the specified tags with exactly matching values
Object containing tag names as keys and expected values
True if all specified tags exist with matching values, false otherwise
Checks if the object's combined tag string contains all the provided search strings. This allows for flexible searching within tag names and values.
Array of strings that must all be present in the combined tag string
True if all strings are found in the combined tag string, false otherwise
Sets a pixel value at the specified coordinates using a color or vector object. Automatically determines the number of components based on the input type.
The x-coordinate of the pixel
The y-coordinate of the pixel
The color or vector value to set
Sets a specific channel value for a pixel at the given coordinates. Useful for modifying individual color channels (R, G, B, A).
The x-coordinate of the pixel
The y-coordinate of the pixel
The channel index (0=R, 1=G, 2=B, 3=A)
The new value for the channel (0-255)
Attempts to set a tag on this object. If the tag already exists, it will be replaced.
The tag object containing the name and value to set
True if the tag was successfully set, false if the tag name contains invalid characters
Attempts to set a unique name for this object
The desired unique name
If true, appends UID to make name unique when conflicts occur; if false, fails on conflict
True if the name was successfully set, false if there was a conflict and toAddNameIfConflict was false
Static
_resetStatic
getStatic
getStatic
loadStatic factory method to create and load a cube texture from URL in one step. This is a convenience method that combines instantiation and loading.
Configuration options for loading the cube texture
Base URL path to the cube texture files
The HDRI format to use for the texture
Whether to use positive/negative naming convention
Number of mipmap levels to generate
Promise that resolves to a loaded CubeTexture instance
Static
searchSearches for the first object that has a specific tag with the given value
The tag name to search for
The tag value to match
WeakRef to the first matching object, or undefined if not found
A cube texture class that represents a cubemap texture for 3D rendering. Cube textures are commonly used for environment mapping, skyboxes, and reflection mapping. This class extends AbstractTexture and provides functionality to load cube textures from various sources including files, Basis compressed textures, and typed arrays.
Example