@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.
90 lines (89 loc) • 3.04 kB
TypeScript
import type { AbstractEngine } from "../Engines/abstractEngine.js";
import type { Scene } from "../scene.js";
import { Texture } from "../Materials/Textures/texture.js";
import { PostProcess } from "../PostProcesses/postProcess.js";
import type { BaseTexture } from "../Materials/Textures/baseTexture.js";
import { Observable } from "../Misc/observable.js";
import type { Nullable } from "../types.js";
/**
* Build cdf maps to be used for IBL importance sampling.
*/
export declare class IblCdfGenerator {
private _scene;
private _engine;
private _cdfyPT;
private _cdfxPT;
private _icdfPT;
private _scaledLuminancePT;
private _iblSource;
private _dummyTexture;
/**
* Gets the IBL source texture being used by the CDF renderer
*/
get iblSource(): Nullable<BaseTexture>;
/**
* Sets the IBL source texture to be used by the CDF renderer.
* This will trigger recreation of the CDF assets.
*/
set iblSource(source: Nullable<BaseTexture>);
private _recreateAssetsFromNewIbl;
/**
* Return the cumulative distribution function (CDF) texture
* @returns Return the cumulative distribution function (CDF) texture
*/
getIcdfTexture(): Texture;
/** Enable the debug view for this pass */
debugEnabled: boolean;
private _debugPass;
private _debugSizeParams;
/**
* Sets params that control the position and scaling of the debug display on the screen.
* @param x Screen X offset of the debug display (0-1)
* @param y Screen Y offset of the debug display (0-1)
* @param widthScale X scale of the debug display (0-1)
* @param heightScale Y scale of the debug display (0-1)
*/
setDebugDisplayParams(x: number, y: number, widthScale: number, heightScale: number): void;
/**
* The name of the debug pass post process
*/
get debugPassName(): string;
private _debugPassName;
/**
* Gets the debug pass post process
* @returns The post process
*/
getDebugPassPP(): PostProcess;
/**
* @internal
*/
static _SceneComponentInitialization: (scene: Scene) => void;
/**
* Instanciates the CDF renderer
* @param sceneOrEngine Scene to attach to
* @returns The CDF renderer
*/
constructor(sceneOrEngine: Nullable<Scene | AbstractEngine>);
/**
* Observable that triggers when the CDF renderer is ready
*/
onGeneratedObservable: Observable<void>;
private _createTextures;
private _disposeTextures;
private _createDebugPass;
/**
* Checks if the CDF renderer is ready
* @returns true if the CDF renderer is ready
*/
isReady(): boolean | null;
/**
* Explicitly trigger generation of CDF maps when they are ready to render.
* @returns Promise that resolves when the CDF maps are rendered.
*/
renderWhenReady(): Promise<void>;
/**
* Disposes the CDF renderer and associated resources
*/
dispose(): void;
private static _IsScene;
}