@types/three
Version:
TypeScript definitions for three
90 lines (83 loc) • 3.47 kB
TypeScript
import {
CubeTextureMapping,
MagnificationTextureFilter,
MinificationTextureFilter,
PixelFormat,
TextureDataType,
Wrapping,
} from "../constants.js";
import { Texture } from "./Texture.js";
/**
* Creates a cube texture made up of six images.
* @remarks
* {@link CubeTexture} is almost equivalent in functionality and usage to {@link Texture}.
* The only differences are that the images are an array of _6_ images as opposed to a single image,
* and the mapping options are {@link THREE.CubeReflectionMapping} (default) or {@link THREE.CubeRefractionMapping}
* @example
* ```typescript
* const loader = new THREE.CubeTextureLoader();
* loader.setPath('textures/cube/pisa/');
* const textureCube = loader.load(['px.png', 'nx.png', 'py.png', 'ny.png', 'pz.png', 'nz.png']);
* const material = new THREE.MeshBasicMaterial({
* color: 0xffffff,
* envMap: textureCube
* });
* ```
* @see {@link https://threejs.org/docs/index.html#api/en/textures/CubeTexture | Official Documentation}
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/textures/CubeTexture.js | Source}
*/
export class CubeTexture extends Texture {
/**
* This creates a new {@link THREE.CubeTexture | CubeTexture} object.
* @param images
* @param mapping See {@link CubeTexture.mapping | .mapping}. Default {@link THREE.CubeReflectionMapping}
* @param wrapS See {@link Texture.wrapS | .wrapS}. Default {@link THREE.ClampToEdgeWrapping}
* @param wrapT See {@link Texture.wrapT | .wrapT}. Default {@link THREE.ClampToEdgeWrapping}
* @param magFilter See {@link Texture.magFilter | .magFilter}. Default {@link THREE.LinearFilter}
* @param minFilter See {@link Texture.minFilter | .minFilter}. Default {@link THREE.LinearMipmapLinearFilter}
* @param format See {@link Texture.format | .format}. Default {@link THREE.RGBAFormat}
* @param type See {@link Texture.type | .type}. Default {@link THREE.UnsignedByteType}
* @param anisotropy See {@link Texture.anisotropy | .anisotropy}. Default {@link THREE.Texture.DEFAULT_ANISOTROPY}
* @param colorSpace See {@link Texture.colorSpace | .colorSpace}. Default {@link NoColorSpace}
*/
constructor(
images?: any[], // HTMLImageElement or HTMLCanvasElement
mapping?: CubeTextureMapping,
wrapS?: Wrapping,
wrapT?: Wrapping,
magFilter?: MagnificationTextureFilter,
minFilter?: MinificationTextureFilter,
format?: PixelFormat,
type?: TextureDataType,
anisotropy?: number,
colorSpace?: string,
);
/**
* Read-only flag to check if a given object is of type {@link CubeTexture}.
* @remarks This is a _constant_ value
* @defaultValue `true`
*/
readonly isCubeTexture: true;
/**
* An image object, typically created using the {@link THREE.CubeTextureLoader.load | CubeTextureLoader.load()} method.
* @see {@link Texture.image}
*/
get image(): any;
set image(data: any);
/**
* An image object, typically created using the {@link THREE.CubeTextureLoader.load | CubeTextureLoader.load()} method.
* @see {@link Texture.image}
*/
get images(): any;
set images(data: any);
/**
* @inheritDoc
* @defaultValue {@link THREE.CubeReflectionMapping}
*/
mapping: CubeTextureMapping;
/**
* @inheritDoc
* @defaultValue `false`
*/
flipY: boolean;
}