@thi.ng/webgl
Version:
WebGL & GLSL abstraction layer
31 lines • 1.13 kB
TypeScript
import type { FboOpts, IFbo } from "./api/buffers.js";
/**
* WebGL framebuffer wrapper w/ automatic detection & support for multiple
* render targets (color attachments) and optional depth buffer. Multiple
* targets are only supported if the `WEBGL_draw_buffers` extension is
* available. The max. number of attachments can be obtained via the
* `maxAttachments` property of the FBO instance.
*
* ```ts
* import { defFBO } from "@thi.ng/webgl";
*
* // create FBO w/ 2 render targets
* fbo = defFBO(gl, { tex: [tex1, tex2] });
* ```
*
* https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_draw_buffers
*/
export declare class FBO implements IFbo {
gl: WebGLRenderingContext;
fbo: WebGLFramebuffer;
ext?: WEBGL_draw_buffers;
maxAttachments: number;
constructor(gl: WebGLRenderingContext, opts?: Partial<FboOpts>);
bind(): boolean;
unbind(): boolean;
release(): boolean;
configure(opts: Partial<FboOpts>, unbind?: boolean): boolean;
validate(): boolean;
}
export declare const defFBO: (gl: WebGLRenderingContext, opts?: Partial<FboOpts>) => FBO;
//# sourceMappingURL=fbo.d.ts.map