import Texture, { TextureOpts, TextureSource } from './Texture'; export interface Texture2DOpts extends TextureOpts { mipmaps?: TextureSource[]; } /** * @example * ... * const mat = new clay.Material({ * shader: clay.shader.library.get('clay.phong', 'diffuseMap') * }); * const diffuseMap = new clay.Texture2D(); * diffuseMap.load('assets/textures/diffuse.jpg'); * mat.set('diffuseMap', diffuseMap); * ... * diffuseMap.onload(function () { * // Wait for the diffuse texture loaded * animation.on('frame', function (frameTime) { * renderer.render(scene, camera); * }); * }); */ declare class Texture2D extends Texture { readonly textureType = "texture2D"; mipmaps?: TextureSource[]; constructor(opts?: Partial); get width(): number; set width(value: number); get height(): number; set height(value: number); protected _defaultFormat(): number; protected _defaultType(): 5121 | 5124 | 5125 | 5126 | 5131; isRenderable(): boolean; load(src: string, crossOrigin?: string): Promise; } export default Texture2D;