import Texture from './Texture'; import { RendererViewport } from './Renderer'; import { GLEnum } from './core/type'; interface FrameBufferOpts { /** * If use depth buffer */ depthBuffer: boolean; } interface FrameBuffer extends FrameBufferOpts { } declare class FrameBuffer { viewport?: RendererViewport; autoGenerateMipmap?: boolean; private _width; private _height; mipmapLevel: number; private _textures; constructor(opts?: Partial); /** * Get textures attached to framebuffer */ getTextures(): Record; target: number; }>; /** * Get width of framebuffer */ getWidth(): number; /** * Get height of framebuffer */ getHeight(): number; /** * Get viewport of bound framebuffer */ getViewport(): RendererViewport; clearTextures(): void; /** * Attach a texture(RTT) to the framebuffer * @param {clay.Texture} texture * @param {number} [attachment=gl.COLOR_ATTACHMENT0] * @param {number} [target=gl.TEXTURE_2D] */ attach(texture: Texture, attachment?: GLEnum, target?: GLEnum): void; /** * Detach a texture * @param {number} [attachment=gl.COLOR_ATTACHMENT0] * @param {number} [target=gl.TEXTURE_2D] */ detach(attachment: GLEnum, target: GLEnum): void; } export default FrameBuffer;