import type { FramebufferProps, TextureFormat } from '@luma.gl/core'; import { Framebuffer, Texture } from '@luma.gl/core'; import { GL } from '@luma.gl/constants'; import { WebGLDevice } from "../webgl-device.js"; import { WEBGLTexture } from "./webgl-texture.js"; import { WEBGLTextureView } from "./webgl-texture-view.js"; export type Attachment = WEBGLTextureView | WEBGLTexture; /** luma.gl Framebuffer, WebGL implementation */ export declare class WEBGLFramebuffer extends Framebuffer { device: WebGLDevice; gl: WebGL2RenderingContext; handle: WebGLFramebuffer; get texture(): import("@luma.gl/core").TextureView; constructor(device: WebGLDevice, props: FramebufferProps); /** destroys any auto created resources etc. */ destroy(): void; /** In WebGL we must use renderbuffers for depth/stencil attachments (unless we have extensions) */ protected createDepthStencilTexture(format: TextureFormat): Texture; /** * Attachment resize is expected to be a noop if size is same */ protected resizeAttachments(width: number, height: number): this; /** Attach one attachment */ protected _attachOne(attachmentPoint: GL, attachment: Attachment): WEBGLTexture; /** * @param attachment * @param texture * @param layer = 0 - index into WEBGLTextureArray and Texture3D or face for `TextureCubeMap` * @param level = 0 - mipmapLevel */ protected _attachTexture(attachment: GL, texture: WEBGLTexture, layer: number, level: number): void; } //# sourceMappingURL=webgl-framebuffer.d.ts.map