import SSAO1Pass from "./SSAO.js"; import GBufferPass from "./GBufferPass.js"; import BlurPass from "./GaussianBlur.js"; import CompositePass from "./CompositePass.js"; import ContourPass from "./ContourPass.js"; import DrawBufferPass from "./DrawBufferPass.js"; import { InstancedFiberGroup } from "./InstancedFiber.js"; import { GeometryInstanceContainer } from "../types.js"; import { Color, Group, OrthographicCamera, PerspectiveCamera, Scene, WebGLRenderer, WebGLRenderTarget } from "three"; import { Pane } from "tweakpane"; export interface SimulariumAOParameters { bias: number; intensity: number; scale: number; kernelRadius: number; minResolution: number; blurRadius: number; blurStdDev: number; blurDepthCutoff: number; } declare class SimulariumRenderer { gbufferPass: GBufferPass; ssao1Pass: SSAO1Pass; blur1Pass: BlurPass; compositePass: CompositePass; contourPass: ContourPass; drawBufferPass: DrawBufferPass; gbuffer: WebGLRenderTarget; private hitTestHelper; blurIntermediateBuffer: WebGLRenderTarget; ssaoBuffer: WebGLRenderTarget; ssaoBuffer2: WebGLRenderTarget; ssaoBufferBlurred: WebGLRenderTarget; ssaoBufferBlurred2: WebGLRenderTarget; private parameters; private boundsNear; private boundsFar; private boundsMaxDim; private cameraZoom; constructor(); setupGui(gui: Pane): void; setBackgroundColor(color: Color): void; setFollowedInstance(instance: number): void; hitTest(renderer: WebGLRenderer, x: number, y: number): number; updateColors(numColors: number, colorsData: Float32Array): void; setMeshGroups(instancedMeshGroup: Group, fibers: InstancedFiberGroup, meshTypes: GeometryInstanceContainer[]): void; resize(x: number, y: number): void; setNearFar(n: number, f: number, boxMaxDim: number, cameraZoom: number): void; render(renderer: WebGLRenderer, scene: Scene, camera: PerspectiveCamera | OrthographicCamera, target: WebGLRenderTarget | null): void; } export default SimulariumRenderer;