molstar
Version:
A comprehensive macromolecular library.
69 lines (68 loc) • 2.39 kB
TypeScript
/**
* Copyright (c) 2024-2025 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
import { Texture } from '../../mol-gl/webgl/texture';
import { WebGLContext } from '../../mol-gl/webgl/context';
import { Renderer } 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 { Helper } from '../helper/helper';
import { DrawPass } from './draw';
type RenderContext = {
renderer: Renderer;
camera: Camera;
scene: Scene;
helper: Helper;
};
export declare const TracingParams: {
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;
};
export type TracingProps = PD.Values<typeof TracingParams>;
export declare class TracingPass {
private readonly webgl;
private readonly drawPass;
private readonly framebuffer;
readonly colorTextureOpaque: Texture;
readonly normalTextureOpaque: Texture;
readonly shadedTextureOpaque: Texture;
private readonly thicknessTarget;
private readonly holdTarget;
readonly accumulateTarget: RenderTarget;
readonly composeTarget: RenderTarget;
private readonly traceRenderable;
private readonly accumulateRenderable;
constructor(webgl: WebGLContext, drawPass: DrawPass);
private renderInput;
setSize(width: number, height: number): void;
reset(): void;
private clearAdjustedProps;
restart(clearAdjustedProps?: boolean): void;
private prevTime;
private currTime;
private rendersPerFrame;
private refineSteps;
private steps;
private increaseAdjustedProps;
private decreaseAdjustedProps;
private getAdjustedProps;
render(ctx: RenderContext, transparentBackground: boolean, props: TracingProps, iteration: number, forceRenderInput: boolean): void;
}
export {};