UNPKG

molstar

Version:

A comprehensive macromolecular library.

191 lines (190 loc) 7.45 kB
/** * Copyright (c) 2019-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 { RenderTarget } from '../../mol-gl/webgl/render-target'; import { Renderer } from '../../mol-gl/renderer'; import { Scene } from '../../mol-gl/scene'; import { ParamDefinition as PD } from '../../mol-util/param-definition'; import { Camera } from '../camera'; import { Viewport } from '../camera/util'; import { Helper } from '../helper/helper'; import { AssetManager } from '../../mol-util/assets'; import { RuntimeContext } from '../../mol-task'; export declare const ImageParams: { transparentBackground: PD.BooleanParam; dpoitIterations: PD.Numeric; multiSample: PD.Group<PD.Normalize<{ mode: string; sampleLevel: number; reduceFlicker: boolean; reuseOcclusion: boolean; }>>; postprocessing: PD.Group<PD.Normalize<{ occlusion: PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{ samples: /*elided*/ any; multiScale: /*elided*/ any; radius: /*elided*/ any; bias: /*elided*/ any; blurKernelSize: /*elided*/ any; blurDepthBias: /*elided*/ any; resolutionScale: /*elided*/ any; color: /*elided*/ any; transparentThreshold: /*elided*/ any; }>, "on">; shadow: PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{ steps: /*elided*/ any; maxDistance: /*elided*/ any; tolerance: /*elided*/ any; }>, "on">; outline: PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{ scale: /*elided*/ any; threshold: /*elided*/ any; color: /*elided*/ any; includeTransparent: /*elided*/ any; }>, "on">; dof: PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{ blurSize: /*elided*/ any; blurSpread: /*elided*/ any; inFocus: /*elided*/ any; PPM: /*elided*/ any; center: /*elided*/ any; mode: /*elided*/ any; }>, "on">; antialiasing: PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{ edgeThreshold: /*elided*/ any; maxSearchSteps: /*elided*/ any; }>, "smaa"> | PD.NamedParams<PD.Normalize<{ edgeThresholdMin: /*elided*/ any; edgeThresholdMax: /*elided*/ any; iterations: /*elided*/ any; subpixelQuality: /*elided*/ any; }>, "fxaa">; sharpening: PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{ sharpness: /*elided*/ any; denoise: /*elided*/ any; }>, "on">; background: PD.Normalize<{ variant: /*elided*/ any; }>; bloom: PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{ strength: /*elided*/ any; radius: /*elided*/ any; threshold: /*elided*/ any; mode: /*elided*/ any; }>, "on">; }>>; marking: PD.Group<PD.Normalize<{ enabled: boolean; highlightEdgeColor: import("../../mol-util/color").Color; selectEdgeColor: import("../../mol-util/color").Color; edgeScale: number; highlightEdgeStrength: number; selectEdgeStrength: number; ghostEdgeStrength: number; innerEdgeFactor: number; }>>; illumination: PD.Group<PD.Normalize<{ rendersPerFrame: [number, number]; targetFps: number; steps: number; firstStepSize: number; refineSteps: number; rayDistance: number; thicknessMode: "auto" | "fixed"; minThickness: number; thicknessFactor: number; thickness: number; bounces: number; glow: boolean; shadowEnable: boolean; shadowSoftness: number; shadowThickness: number; enabled: boolean; maxIterations: number; denoise: boolean; denoiseThreshold: [number, number]; ignoreOutline: boolean; }>>; cameraHelper: PD.Group<PD.Normalize<{ axes: PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{ alpha: /*elided*/ any; colorX: /*elided*/ any; colorY: /*elided*/ any; colorZ: /*elided*/ any; scale: /*elided*/ any; location: /*elided*/ any; locationOffsetX: /*elided*/ any; locationOffsetY: /*elided*/ any; originColor: /*elided*/ any; radiusScale: /*elided*/ any; showPlanes: /*elided*/ any; planeColorXY: /*elided*/ any; planeColorXZ: /*elided*/ any; planeColorYZ: /*elided*/ any; showLabels: /*elided*/ any; labelX: /*elided*/ any; labelY: /*elided*/ any; labelZ: /*elided*/ any; labelColorX: /*elided*/ any; labelColorY: /*elided*/ any; labelColorZ: /*elided*/ any; labelOpacity: /*elided*/ any; labelScale: /*elided*/ any; }>, "on">; }>>; renderer: PD.Group<PD.Normalize<{ backgroundColor: import("../../mol-util/color").Color; pickingAlphaThreshold: number; interiorDarkening: number; interiorColorFlag: boolean; interiorColor: import("../../mol-util/color").Color; colorMarker: boolean; highlightColor: import("../../mol-util/color").Color; selectColor: import("../../mol-util/color").Color; dimColor: import("../../mol-util/color").Color; highlightStrength: number; selectStrength: number; dimStrength: number; markerPriority: number; xrayEdgeFalloff: number; celSteps: number; exposure: number; light: PD.Normalize<{ inclination: number; azimuth: number; color: import("../../mol-util/color").Color; intensity: number; }>[]; ambientColor: import("../../mol-util/color").Color; ambientIntensity: number; }>>; }; export type ImageProps = PD.Values<typeof ImageParams>; export declare class ImagePass { private webgl; private renderer; private scene; private camera; private _width; private _height; private _camera; readonly props: ImageProps; private _colorTarget; get colorTarget(): RenderTarget; private readonly drawPass; private readonly illuminationPass; private readonly multiSamplePass; private readonly multiSampleHelper; private readonly helper; get width(): number; get height(): number; constructor(webgl: WebGLContext, assetManager: AssetManager, renderer: Renderer, scene: Scene, camera: Camera, helper: Helper, transparency: 'wboit' | 'dpoit' | 'blended', props: Partial<ImageProps>); updateBackground(): Promise<void>; setSize(width: number, height: number): void; setProps(props?: Partial<ImageProps>): void; render(runtime: RuntimeContext): Promise<void>; getImageData(runtime: RuntimeContext, width: number, height: number, viewport?: Viewport): Promise<ImageData>; }