@itwin/frontend-devtools
Version:
Debug menu and supporting UI widgets
35 lines • 1.62 kB
TypeScript
/** @packageDocumentation
* @module Effects
*/
import { ScreenSpaceEffectBuilder, Tool } from "@itwin/core-frontend";
import { AddEffectTool } from "./EffectTools";
/** Adds a screen-space effect to the selected [[Viewport]] to simulate the lens distortion produced by real-world cameras with very wide fields of view.
* Based on https://www.decarpentier.nl/lens-distortion
* The effect is improved considerably by enabling anti-aliasing (e.g., via [RenderSystem.Options.antialiasSamples]($frontend) at startup, or using the `fdt aasamples` key-in`).
* @note Because this effect applies a non-linear transform to each pixel, operations like snapping to geometry will not work properly. Element locate will work however - @see [ScreenSpaceEffectSource.sampleSourcePixel]($frontend).
* @beta
*/
export declare class LensDistortionEffect extends AddEffectTool {
static toolId: string;
protected get effectName(): string;
protected get textureCoordFromPosition(): boolean;
protected get source(): {
vertex: string;
fragment: string;
sampleSourcePixel: string;
};
protected defineEffect(builder: ScreenSpaceEffectBuilder): void;
}
/** Configures the [[LensDistortionEffect]].
* @beta
*/
export declare class LensDistortionConfig extends Tool {
static toolId: string;
static get minArgs(): number;
static get maxArgs(): number;
static strength: number;
static cylindricalRatio: number;
run(strength?: number, ratio?: number): Promise<boolean>;
parseAndRun(...input: string[]): Promise<boolean>;
}
//# sourceMappingURL=LensDistortion.d.ts.map