@itwin/core-frontend
Version:
iTwin.js frontend components
34 lines • 1.42 kB
TypeScript
/** @packageDocumentation
* @module WebGL
*/
import { ScreenSpaceEffectBuilder, ScreenSpaceEffectBuilderParams, ScreenSpaceEffectContext } from "../../../render/ScreenSpaceEffectBuilder";
import { TechniqueId } from "./TechniqueId";
import { Target } from "./Target";
type ShouldApply = (context: ScreenSpaceEffectContext) => boolean;
declare class ScreenSpaceEffect {
readonly techniqueId: TechniqueId;
readonly name: string;
private readonly _shouldApply?;
private readonly _shiftsPixels;
constructor(techniqueId: TechniqueId, name: string, shiftsPixels: boolean, shouldApply?: ShouldApply);
shouldApply(target: Target): boolean;
}
/** @internal */
export declare class ScreenSpaceEffects {
private readonly _effects;
private readonly _effectGeometry;
private readonly _copyGeometry;
private readonly _workingArray;
constructor();
[Symbol.dispose](): void;
add(effect: ScreenSpaceEffect): void;
/** Return true if any effects should be applied to this Target. */
shouldApply(target: Target): boolean;
private getApplicableEffects;
/** Apply screen-space effects to the Target's rendered image. */
apply(target: Target): void;
private applyForReadPixels;
}
export declare function createScreenSpaceEffectBuilder(params: ScreenSpaceEffectBuilderParams): ScreenSpaceEffectBuilder;
export {};
//# sourceMappingURL=ScreenSpaceEffect.d.ts.map