import type { GLCat } from './GLCat'; import type { GLCatRenderbuffer } from './GLCatRenderbuffer'; import type { GLCatTexture } from './GLCatTexture'; declare type WebGL1 = WebGLRenderingContext; declare type WebGL2 = WebGL2RenderingContext; /** * It's a WebGLFramebuffer. */ export declare class GLCatFramebuffer { private __glCat; private __framebuffer; private __renderbufferMap; private __textureMap; /** * Its own framebuffer. */ get framebuffer(): WebGLFramebuffer; /** * Its own framebuffer. Shorter than [[GLCatFramebuffer.framebuffer]] */ get raw(): WebGLFramebuffer; /** * Its attached renderbuffer. * If you want to grab other than `DEPTH_ATTACHMENT`, try [[GLCatFramebuffer.getRenderbuffer]] instead. */ get renderbuffer(): GLCatRenderbuffer | null; /** * Its attached texture. * If you want to grab other than `COLOR_ATTACHMENT0`, try [[GLCatFramebuffer.getTexture]] instead. */ get texture(): GLCatTexture | null; /** * Create a new GLCatFramebuffer instance. */ constructor(glCat: GLCat, framebuffer: WebGLFramebuffer); /** * Dispose the framebuffer. */ dispose(alsoAttached?: boolean): void; /** * Retrieve its attached renderbuffer. */ getRenderbuffer(attachment?: number): GLCatRenderbuffer | null; /** * Retrieve its attached texture. */ getTexture(attachment?: number): GLCatTexture | null; /** * Attach a renderbuffer to this framebuffer. */ attachRenderbuffer(renderbuffer: GLCatRenderbuffer, { attachment }?: { attachment?: number | undefined; }): void; /** * Attach a texture to this framebuffer. */ attachTexture(texture: GLCatTexture, { level, textarget, attachment, }?: { level?: number | undefined; textarget?: number | undefined; attachment?: number | undefined; }): void; } export {};