UNPKG

@babylonjs/core

Version:

Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.

82 lines (81 loc) 4.1 kB
import type { FrameGraph, FrameGraphTextureHandle, Scene, AbstractEngine, ThinEffectLayer, FrameGraphRenderPass, FrameGraphRenderContext } from "../../../index.js"; import { FrameGraphTask } from "../../frameGraphTask.js"; import { FrameGraphObjectRendererTask } from "../Rendering/objectRendererTask.js"; import { FrameGraphClearTextureTask } from "../Texture/clearTextureTask.js"; import { FrameGraphBlurTask } from "../PostProcesses/blurTask.js"; import { FrameGraphPostProcessTask } from "../PostProcesses/postProcessTask.js"; import { ThinGlowBlurPostProcess } from "../../../Layers/thinEffectLayer.js"; declare class FrameGraphGlowBlurTask extends FrameGraphPostProcessTask { readonly postProcess: ThinGlowBlurPostProcess; /** * Constructs a new glow blur task. * @param name The name of the task. * @param frameGraph The frame graph this task is associated with. * @param thinPostProcess The thin post process to use for the glow blur effect. If not provided, a new one will be created. */ constructor(name: string, frameGraph: FrameGraph, thinPostProcess?: ThinGlowBlurPostProcess); record(skipCreationOfDisabledPasses?: boolean, additionalExecute?: (context: FrameGraphRenderContext) => void, additionalBindings?: (context: FrameGraphRenderContext) => void): FrameGraphRenderPass; } /** * @internal */ export declare class FrameGraphBaseLayerTask extends FrameGraphTask { private _setRenderTargetDepth; private _notifyBlurObservable; /** * The target texture to apply the effect layer to. * The effect will be blended with the contents of this texture. */ targetTexture: FrameGraphTextureHandle; /** * The object renderer task used to render the objects in the texture to which the layer will be applied. * This is needed because the layer may have to inject code in the rendering manager used by object renderer task. */ objectRendererTask: FrameGraphObjectRendererTask; /** * The layer texture to render the effect into. * If not provided, a default texture will be created. */ layerTexture?: FrameGraphTextureHandle; /** * The output texture of the task (same as targetTexture, but the handle will be different). */ readonly outputTexture: FrameGraphTextureHandle; /** * The layer object. Use this object to update the layer properties. */ readonly layer: ThinEffectLayer; /** * The name of the task. */ get name(): string; set name(name: string); protected readonly _scene: Scene; protected readonly _engine: AbstractEngine; protected readonly _clearLayerTextures: FrameGraphClearTextureTask; protected readonly _objectRendererForLayer: FrameGraphObjectRendererTask; protected readonly _blurX: Array<FrameGraphBlurTask | FrameGraphGlowBlurTask>; protected readonly _blurY: Array<FrameGraphBlurTask | FrameGraphGlowBlurTask>; private readonly _onBeforeBlurTask; private readonly _onAfterBlurTask; private _onBeforeObservableObserver; private _onAfterObservableObserver; private _onAfterRenderingGroupObserver; /** * Constructs a new layer task. * @param name Name of the task. * @param frameGraph The frame graph this task is associated with. * @param scene The scene to render the layer in. * @param layer The layer. * @param numBlurPasses The number of blur passes applied by the layer. * @param useCustomBlur If true, the layer will use a custom blur post process instead of the default one. * @param _setRenderTargetDepth If true, the task will set the render target depth. * @param _notifyBlurObservable If true, the task will notify before and after blurring occurs. */ constructor(name: string, frameGraph: FrameGraph, scene: Scene, layer: ThinEffectLayer, numBlurPasses: number, useCustomBlur?: boolean, _setRenderTargetDepth?: boolean, _notifyBlurObservable?: boolean); isReady(): boolean; record(): void; private _clearAfterRenderingGroupObserver; dispose(): void; } export {};