UNPKG

molstar

Version:

A comprehensive macromolecular library.

88 lines (87 loc) 2.99 kB
/** * Copyright (c) 2024-2025 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose <alexander.rose@weirdbyte.de> */ import { WebGLContext } from '../../mol-gl/webgl/context'; import { Renderer, RendererProps } from '../../mol-gl/renderer'; import { Camera } from '../camera'; import { Scene } from '../../mol-gl/scene'; import { RenderTarget } from '../../mol-gl/webgl/render-target'; import { ParamDefinition as PD } from '../../mol-util/param-definition'; import { PostprocessingProps } from './postprocessing'; import { DrawPass } from './draw'; import { MarkingProps } from './marking'; import { Helper } from '../helper/helper'; import { MultiSampleProps } from './multi-sample'; type Props = { transparentBackground: boolean; dpoitIterations: number; illumination: IlluminationProps; renderer: RendererProps; postprocessing: PostprocessingProps; marking: MarkingProps; multiSample: MultiSampleProps; }; type RenderContext = { renderer: Renderer; camera: Camera; scene: Scene; helper: Helper; }; export declare const IlluminationParams: { rendersPerFrame: PD.Interval; targetFps: PD.Numeric; steps: PD.Numeric; firstStepSize: PD.Numeric; refineSteps: PD.Numeric; rayDistance: PD.Numeric; thicknessMode: PD.Select<"auto" | "fixed">; minThickness: PD.Numeric; thicknessFactor: PD.Numeric; thickness: PD.Numeric; bounces: PD.Numeric; glow: PD.BooleanParam; shadowEnable: PD.BooleanParam; shadowSoftness: PD.Numeric; shadowThickness: PD.Numeric; enabled: PD.BooleanParam; maxIterations: PD.Numeric; denoise: PD.BooleanParam; denoiseThreshold: PD.Interval; ignoreOutline: PD.BooleanParam; }; export type IlluminationProps = PD.Values<typeof IlluminationParams>; export declare class IlluminationPass { private readonly webgl; private readonly drawPass; private readonly tracing; private readonly transparentTarget; private readonly outputTarget; readonly packedDepth: boolean; private readonly copyRenderable; private readonly composeRenderable; private multiSampleComposeTarget; private multiSampleHoldTarget; private multiSampleAccumulateTarget; private multiSampleCompose; private _iteration; get iteration(): number; private _colorTarget; get colorTarget(): RenderTarget; private _supported; get supported(): boolean; getMaxIterations(props: Props): number; static isSupported(webgl: WebGLContext): boolean; constructor(webgl: WebGLContext, drawPass: DrawPass); private renderInput; shouldRender(props: Props): boolean; setSize(width: number, height: number): void; reset(): void; restart(clearAdjustedProps?: boolean): void; private renderInternal; private prevSampleIndex; private renderMultiSample; render(ctx: RenderContext, props: Props, toDrawingBuffer: boolean): void; } export {};