UNPKG

pixi.js

Version:

<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">

66 lines (65 loc) 1.87 kB
import { TextureSource } from './TextureSource'; import type { TextureSourceOptions } from './TextureSource'; /** * The 6 faces of a cube map. * * Naming matches common engine conventions: * - left/right: -X/+X * - bottom/top: -Y/+Y * - back/front: -Z/+Z * @category rendering * @advanced */ export interface CubeTextureFaces<T> { left: T; right: T; top: T; bottom: T; front: T; back: T; } /** * Options for creating a {@link CubeTextureSource}. * @category rendering * @advanced */ export interface CubeTextureSourceOptions extends Omit<TextureSourceOptions<any>, 'resource' | 'width' | 'height' | 'dimensions' | 'viewDimension' | 'resolution' | 'format' | 'alphaMode'> { /** * The 6 face sources that make up the cube texture. * * All faces must match in: * - size (pixelWidth / pixelHeight) * - resolution * - format * - alphaMode */ faces: CubeTextureFaces<TextureSource>; } /** * A {@link TextureSource} that represents a cube texture (6 faces). * * Internally, WebGPU uses a 2D texture with 6 array layers and a `cube` view. * WebGL uses `TEXTURE_CUBE_MAP`. * @example * Create a cube source from 6 already-created {@link TextureSource} instances: * * ```ts * const cubeSource = new CubeTextureSource({ * faces: { right, left, top, bottom, front, back }, * label: 'env-map', * }); * ``` * @category rendering * @advanced */ export declare class CubeTextureSource extends TextureSource<CubeTextureFaces<TextureSource>> { /** @internal */ readonly uploadMethodId = "cube"; /** The 6 face sources that make up this cube texture. */ readonly faces: CubeTextureFaces<TextureSource>; constructor(options: CubeTextureSourceOptions); destroy(): void; private _onFaceUpdate; private _onFaceResize; private static _validateFaces; }