import Texture2D from '../Texture2D'; import Texture2DArray from '../Texture2DArray'; import Texture3D from '../Texture3D'; import TextureCube from '../TextureCube'; import GLExtension from './GLExtension'; type AllTextureType = Texture2D | TextureCube | Texture2DArray | Texture3D; declare class GLTexture { /** * Slot been taken */ slot: number; __version: number; private _texture; /** * Instance of webgl texture */ private _webglIns?; constructor(texture: AllTextureType); bind(gl: WebGL2RenderingContext): void; unbind(gl: WebGL2RenderingContext): void; getWebGLTexture(gl: WebGL2RenderingContext): WebGLTexture; update(gl: WebGL2RenderingContext, glExt: GLExtension): void; private _update_texture2D; private _update_texture2DArray; private _update_texture3D; private _update_textureCube; private _getBindTarget; generateMipmap(gl: WebGL2RenderingContext): void; dispose(gl: WebGL2RenderingContext): void; } export default GLTexture;