import * as THREE from 'three'; interface IFrameBufferOptions { width: number; height: number; type: THREE.TextureDataType; minFilter: THREE.MinificationTextureFilter; magFilter: THREE.MagnificationTextureFilter; pingPong: boolean; } /** * Creates a ping pong buffer with the given scene, camera, and renderer * @param scene the scene to be rendered * @param camera the camera to be used in rendering the scene * @param renderer thre renderer to be used in rendeing the scene * @param options size, type, minFilter, magFilter. See {@link IFrameBufferOptions} * @returns an object with a render callback and the resulting fbo */ export declare const useFrameBuffer: (scene: THREE.Scene, camera: THREE.Camera, renderer: THREE.WebGLRenderer, options?: IFrameBufferOptions) => { render: () => THREE.WebGLRenderTarget; fbo: THREE.WebGLRenderTarget | THREE.WebGLRenderTarget[]; }; export declare const useDepthBuffer: (renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera) => { render: () => THREE.WebGLRenderTarget; depthTarget: THREE.WebGLRenderTarget; }; /** * Assigns input data to a texture, the length of the data should be a multiple of two * @param data the data to populate the texture with * @returns a data texture with the input data */ export declare const useDataTexture: (data: Float32Array, format?: THREE.WebGL2PixelFormat) => THREE.DataTexture | null; export {};