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.

97 lines (96 loc) 3.31 kB
import type { Nullable } from "../../types.js"; import type { Camera } from "../../Cameras/camera.js"; import type { AbstractEngine } from "../../Engines/abstractEngine.js"; import type { PostProcessRenderEffect } from "./postProcessRenderEffect.js"; import type { IInspectable } from "../../Misc/iInspectable.js"; import type { PrePassRenderer } from "../../Rendering/prePassRenderer.js"; /** * PostProcessRenderPipeline * @see https://doc.babylonjs.com/features/featuresDeepDive/postProcesses/postProcessRenderPipeline */ export declare class PostProcessRenderPipeline { private _engine; protected _renderEffects: { [key: string]: PostProcessRenderEffect; }; protected _renderEffectsForIsolatedPass: PostProcessRenderEffect[]; /** * List of inspectable custom properties (used by the Inspector) * @see https://doc.babylonjs.com/toolsAndResources/inspector#extensibility */ inspectableCustomProperties: IInspectable[]; /** * @internal */ protected _cameras: Camera[]; /** @internal */ _name: string; /** * Gets pipeline name */ get name(): string; /** Gets the list of attached cameras */ get cameras(): Camera[]; /** * Gets the active engine */ get engine(): AbstractEngine; /** * Initializes a PostProcessRenderPipeline * @param _engine engine to add the pipeline to * @param name name of the pipeline */ constructor(_engine: AbstractEngine, name: string); /** * Gets the class name * @returns "PostProcessRenderPipeline" */ getClassName(): string; /** * If all the render effects in the pipeline are supported */ get isSupported(): boolean; /** * Adds an effect to the pipeline * @param renderEffect the effect to add */ addEffect(renderEffect: PostProcessRenderEffect): void; /** @internal */ _rebuild(): void; /** @internal */ _enableEffect(renderEffectName: string, cameras: Camera): void; /** @internal */ _enableEffect(renderEffectName: string, cameras: Camera[]): void; /** @internal */ _disableEffect(renderEffectName: string, cameras: Nullable<Camera[]>): void; /** @internal */ _disableEffect(renderEffectName: string, cameras: Nullable<Camera[]>): void; /** @internal */ _attachCameras(cameras: Camera, unique: boolean): void; /** @internal */ _attachCameras(cameras: Camera[], unique: boolean): void; /** @internal */ _detachCameras(cameras: Camera): void; /** @internal */ _detachCameras(cameras: Nullable<Camera[]>): void; /** @internal */ _update(): void; /** @internal */ _reset(): void; protected _enableMSAAOnFirstPostProcess(sampleCount: number): boolean; /** * Ensures that all post processes in the pipeline are the correct size according to the * the viewport's required size */ protected _adaptPostProcessesToViewPort(): void; /** * Sets the required values to the prepass renderer. * @param prePassRenderer defines the prepass renderer to setup. * @returns true if the pre pass is needed. */ setPrePassRenderer(prePassRenderer: PrePassRenderer): boolean; /** * Disposes of the pipeline */ dispose(): void; }