import Texture2D from '../Texture2D'; import TextureCube from '../TextureCube'; import type Renderer from '../Renderer'; interface LoadTextureOpts { fileType?: string; exposure?: number; } type TextureOnload = (texture: Texture2D) => void; type TextureOnerror = (err: any) => void; /** * Load texture and return promise. */ export declare function loadTexture(path: string, option?: LoadTextureOpts): Promise; /** * Load and return the texture instance immediately. */ export declare function loadTextureSync(path: string, onload?: TextureOnload, onerror?: TextureOnerror): Texture2D; export declare function loadTextureSync(path: string, option?: LoadTextureOpts, onload?: TextureOnload, onerror?: TextureOnerror): Texture2D; interface LoadPanoramaOpts extends LoadTextureOpts { encodeRGBM?: boolean; flipY?: boolean; } /** * Load a panorama texture and render it to a cube map */ export declare function loadPanorama(renderer: Renderer, path: string, cubeMap: TextureCube, option?: LoadPanoramaOpts): Promise; /** * Render a panorama texture to a cube map */ export declare function panoramaToCubeMap(renderer: Renderer, panoramaMap: Texture2D, cubeMap: TextureCube, option?: { encodeRGBM?: boolean; }): TextureCube; /** * Convert height map to normal map * @param {HTMLImageElement|HTMLCanvasElement} image * @param {boolean} [checkBump=false] * @return {HTMLCanvasElement} */ export declare function heightToNormal(image: HTMLImageElement | HTMLCanvasElement, checkBump?: boolean): HTMLCanvasElement | HTMLImageElement; /** * Convert height map to normal map * @param {HTMLImageElement|HTMLCanvasElement} image * @param {boolean} [checkBump=false] * @param {number} [threshold=20] * @return {HTMLCanvasElement} */ export declare function isHeightImage(img: HTMLImageElement | HTMLCanvasElement, downScaleSize: number, threshold: number): boolean; /** * Create a chessboard texture * @param {number} [size] * @param {number} [unitSize] * @param {string} [color1] * @param {string} [color2] * @return {clay.Texture2D} */ export declare function createChessboard(size: number, unitSize: number, color1: string, color2: string): Texture2D; /** * Create a blank pure color 1x1 texture * @param {string} color * @return {clay.Texture2D} */ export declare function createBlank(color: string): Texture2D; export {};