|
@@ -26,9 +26,14 @@ declare module BABYLON {
|
|
|
*/
|
|
|
attributeName: string;
|
|
|
}
|
|
|
+ /**
|
|
|
+ * Regroup several parameters relative to the browser in use
|
|
|
+ */
|
|
|
class EngineCapabilities {
|
|
|
+ /** The maximum textures image */
|
|
|
maxTexturesImageUnits: number;
|
|
|
maxVertexTextureImageUnits: number;
|
|
|
+ /** The maximum texture size */
|
|
|
maxTextureSize: number;
|
|
|
maxCubemapTextureSize: number;
|
|
|
maxRenderTextureSize: number;
|
|
@@ -284,6 +289,7 @@ declare module BABYLON {
|
|
|
getHardwareScalingLevel(): number;
|
|
|
getLoadedTexturesCache(): WebGLTexture[];
|
|
|
getCaps(): EngineCapabilities;
|
|
|
+ /** The number of draw calls submitted last frame */
|
|
|
readonly drawCalls: number;
|
|
|
readonly drawCallsPerfCounter: PerfCounter;
|
|
|
getDepthFunction(): number;
|
|
@@ -413,6 +419,10 @@ declare module BABYLON {
|
|
|
drawPointClouds(verticesStart: number, verticesCount: number, instancesCount?: number): void;
|
|
|
drawUnIndexed(useTriangles: boolean, verticesStart: number, verticesCount: number, instancesCount?: number): void;
|
|
|
_releaseEffect(effect: Effect): void;
|
|
|
+ /**
|
|
|
+ * @param baseName The base name of the effect (The name of file without .fragment.fx or .vertex.fx)
|
|
|
+ * @param samplers An array of string used to represent textures
|
|
|
+ */
|
|
|
createEffect(baseName: any, attributesNamesOrOptions: string[] | EffectCreationOptions, uniformsNamesOrEngine: string[] | Engine, samplers?: string[], defines?: string, fallbacks?: EffectFallbacks, onCompiled?: (effect: Effect) => void, onError?: (effect: Effect, errors: string) => void, indexParameters?: any): Effect;
|
|
|
createEffectForParticles(fragmentName: string, uniformsNames?: string[], samplers?: string[], defines?: string, fallbacks?: EffectFallbacks, onCompiled?: (effect: Effect) => void, onError?: (effect: Effect, errors: string) => void): Effect;
|
|
|
createShaderProgram(vertexCode: string, fragmentCode: string, defines: string, context?: WebGLRenderingContext): WebGLProgram;
|
|
@@ -1360,9 +1370,13 @@ declare module BABYLON {
|
|
|
private static _FOGMODE_LINEAR;
|
|
|
static MinDeltaTime: number;
|
|
|
static MaxDeltaTime: number;
|
|
|
+ /** The fog is deactivated */
|
|
|
static readonly FOGMODE_NONE: number;
|
|
|
+ /** The fog density is following an exponential function */
|
|
|
static readonly FOGMODE_EXP: number;
|
|
|
+ /** The fog density is following an exponential function faster than FOGMODE_EXP */
|
|
|
static readonly FOGMODE_EXP2: number;
|
|
|
+ /** The fog density is following a linear function. */
|
|
|
static readonly FOGMODE_LINEAR: number;
|
|
|
autoClear: boolean;
|
|
|
autoClearDepthAndStencil: boolean;
|
|
@@ -1407,6 +1421,7 @@ declare module BABYLON {
|
|
|
*/
|
|
|
onDisposeObservable: Observable<Scene>;
|
|
|
private _onDisposeObserver;
|
|
|
+ /** A function to be executed when this scene is disposed. */
|
|
|
onDispose: () => void;
|
|
|
/**
|
|
|
* An event triggered before rendering the scene
|
|
@@ -1414,6 +1429,7 @@ declare module BABYLON {
|
|
|
*/
|
|
|
onBeforeRenderObservable: Observable<Scene>;
|
|
|
private _onBeforeRenderObserver;
|
|
|
+ /** A function to be executed before rendering this scene */
|
|
|
beforeRender: () => void;
|
|
|
/**
|
|
|
* An event triggered after rendering the scene
|
|
@@ -1421,6 +1437,7 @@ declare module BABYLON {
|
|
|
*/
|
|
|
onAfterRenderObservable: Observable<Scene>;
|
|
|
private _onAfterRenderObserver;
|
|
|
+ /** A function to be executed after rendering this scene */
|
|
|
afterRender: () => void;
|
|
|
/**
|
|
|
* An event triggered when the scene is ready
|
|
@@ -1494,9 +1511,13 @@ declare module BABYLON {
|
|
|
private _onPointerMove;
|
|
|
private _onPointerDown;
|
|
|
private _onPointerUp;
|
|
|
+ /** Deprecated. Use onPointerObservable instead */
|
|
|
onPointerMove: (evt: PointerEvent, pickInfo: PickingInfo) => void;
|
|
|
+ /** Deprecated. Use onPointerObservable instead */
|
|
|
onPointerDown: (evt: PointerEvent, pickInfo: PickingInfo) => void;
|
|
|
+ /** Deprecated. Use onPointerObservable instead */
|
|
|
onPointerUp: (evt: PointerEvent, pickInfo: PickingInfo) => void;
|
|
|
+ /** Deprecated. Use onPointerObservable instead */
|
|
|
onPointerPick: (evt: PointerEvent, pickInfo: PickingInfo) => void;
|
|
|
/**
|
|
|
* This observable event is triggered when any mouse event registered during Scene.attach() is called BEFORE the 3D engine to process anything (mesh/sprite picking for instance).
|
|
@@ -1508,9 +1529,13 @@ declare module BABYLON {
|
|
|
*/
|
|
|
onPointerObservable: Observable<PointerInfo>;
|
|
|
readonly unTranslatedPointer: Vector2;
|
|
|
+ /** The distance in pixel that you have to move to prevent some events */
|
|
|
static DragMovementThreshold: number;
|
|
|
+ /** Time in milliseconds to wait to raise long press events if button is still pressed */
|
|
|
static LongPressDelay: number;
|
|
|
+ /** Time in milliseconds with two consecutive clicks will be considered as a double click */
|
|
|
static DoubleClickDelay: number;
|
|
|
+ /** If you need to check double click without raising a single click at first click, enable this flag */
|
|
|
static ExclusiveDoubleClickMode: boolean;
|
|
|
private _initClickEvent;
|
|
|
private _initActionManager;
|
|
@@ -1524,6 +1549,7 @@ declare module BABYLON {
|
|
|
private _previousPickResult;
|
|
|
private _isButtonPressed;
|
|
|
private _doubleClickOccured;
|
|
|
+ /** Define this parameter if you are using multiple cameras and you want to specify which one should be used for pointer position */
|
|
|
cameraToUseForPointers: Camera;
|
|
|
private _pointerX;
|
|
|
private _pointerY;
|
|
@@ -1542,11 +1568,10 @@ declare module BABYLON {
|
|
|
*/
|
|
|
private _useRightHandedSystem;
|
|
|
useRightHandedSystem: boolean;
|
|
|
+ private _fogEnabled;
|
|
|
/**
|
|
|
* is fog enabled on this scene.
|
|
|
- * @type {boolean}
|
|
|
*/
|
|
|
- private _fogEnabled;
|
|
|
fogEnabled: boolean;
|
|
|
private _fogMode;
|
|
|
fogMode: number;
|
|
@@ -1572,13 +1597,11 @@ declare module BABYLON {
|
|
|
* @type {BABYLON.Light[]}
|
|
|
*/
|
|
|
lights: Light[];
|
|
|
- /**
|
|
|
- * All of the cameras added to this scene.
|
|
|
- * @see BABYLON.Camera
|
|
|
- * @type {BABYLON.Camera[]}
|
|
|
- */
|
|
|
+ /** All of the cameras added to this scene. */
|
|
|
cameras: Camera[];
|
|
|
+ /** All of the active cameras added to this scene. */
|
|
|
activeCameras: Camera[];
|
|
|
+ /** The current active camera */
|
|
|
activeCamera: Camera;
|
|
|
/**
|
|
|
* All of the (abstract) meshes added to this scene.
|
|
@@ -1590,6 +1613,8 @@ declare module BABYLON {
|
|
|
materials: Material[];
|
|
|
multiMaterials: MultiMaterial[];
|
|
|
private _defaultMaterial;
|
|
|
+ /** The default material used on meshes when no material is affected */
|
|
|
+ /** The default material used on meshes when no material is affected */
|
|
|
defaultMaterial: Material;
|
|
|
private _texturesEnabled;
|
|
|
texturesEnabled: boolean;
|
|
@@ -1609,6 +1634,7 @@ declare module BABYLON {
|
|
|
collisionsEnabled: boolean;
|
|
|
private _workerCollisions;
|
|
|
collisionCoordinator: ICollisionCoordinator;
|
|
|
+ /** Defines the gravity applied to this scene */
|
|
|
gravity: Vector3;
|
|
|
postProcessesEnabled: boolean;
|
|
|
postProcessManager: PostProcessManager;
|
|
@@ -1783,9 +1809,8 @@ declare module BABYLON {
|
|
|
* @param {number} [speedRatio] - the speed in which to run the animation
|
|
|
* @param {Function} [onAnimationEnd] function to be executed when the animation ended.
|
|
|
* @param {BABYLON.Animatable} [animatable] an animatable object. If not provided a new one will be created from the given params.
|
|
|
- * @return {BABYLON.Animatable} the animatable object created for this animation
|
|
|
- * @see BABYLON.Animatable
|
|
|
- * @see http://doc.babylonjs.com/page.php?p=22081
|
|
|
+ * Returns {BABYLON.Animatable} the animatable object created for this animation
|
|
|
+ * See BABYLON.Animatable
|
|
|
*/
|
|
|
beginAnimation(target: any, from: number, to: number, loop?: boolean, speedRatio?: number, onAnimationEnd?: () => void, animatable?: Animatable): Animatable;
|
|
|
beginDirectAnimation(target: any, animations: Animation[], from: number, to: number, loop?: boolean, speedRatio?: number, onAnimationEnd?: () => void): Animatable;
|
|
@@ -2019,10 +2044,41 @@ declare module BABYLON {
|
|
|
private _internalPick(rayFunction, predicate, fastCheck?);
|
|
|
private _internalMultiPick(rayFunction, predicate);
|
|
|
private _internalPickSprites(ray, predicate?, fastCheck?, camera?);
|
|
|
+ /** Launch a ray to try to pick a mesh in the scene
|
|
|
+ * @param x position on screen
|
|
|
+ * @param y position on screen
|
|
|
+ * @param predicate Predicate function used to determine eligible meshes. Can be set to null. In this case, a mesh must be enabled, visible and with isPickable set to true
|
|
|
+ * @param fastCheck Launch a fast check only using the bounding boxes. Can be set to null.
|
|
|
+ * @param camera to use for computing the picking ray. Can be set to null. In this case, the scene.activeCamera will be used
|
|
|
+ */
|
|
|
pick(x: number, y: number, predicate?: (mesh: AbstractMesh) => boolean, fastCheck?: boolean, camera?: Camera): PickingInfo;
|
|
|
+ /** Launch a ray to try to pick a sprite in the scene
|
|
|
+ * @param x position on screen
|
|
|
+ * @param y position on screen
|
|
|
+ * @param predicate Predicate function used to determine eligible sprites. Can be set to null. In this case, a sprite must have isPickable set to true
|
|
|
+ * @param fastCheck Launch a fast check only using the bounding boxes. Can be set to null.
|
|
|
+ * @param camera camera to use for computing the picking ray. Can be set to null. In this case, the scene.activeCamera will be used
|
|
|
+ */
|
|
|
pickSprite(x: number, y: number, predicate?: (sprite: Sprite) => boolean, fastCheck?: boolean, camera?: Camera): PickingInfo;
|
|
|
+ /** Use the given ray to pick a mesh in the scene
|
|
|
+ * @param ray The ray to use to pick meshes
|
|
|
+ * @param predicate Predicate function used to determine eligible sprites. Can be set to null. In this case, a sprite must have isPickable set to true
|
|
|
+ * @param fastCheck Launch a fast check only using the bounding boxes. Can be set to null.
|
|
|
+ */
|
|
|
pickWithRay(ray: Ray, predicate: (mesh: Mesh) => boolean, fastCheck?: boolean): PickingInfo;
|
|
|
+ /**
|
|
|
+ * Launch a ray to try to pick a mesh in the scene
|
|
|
+ * @param x X position on screen
|
|
|
+ * @param y Y position on screen
|
|
|
+ * @param predicate Predicate function used to determine eligible meshes. Can be set to null. In this case, a mesh must be enabled, visible and with isPickable set to true
|
|
|
+ * @param camera camera to use for computing the picking ray. Can be set to null. In this case, the scene.activeCamera will be used
|
|
|
+ */
|
|
|
multiPick(x: number, y: number, predicate?: (mesh: AbstractMesh) => boolean, camera?: Camera): PickingInfo[];
|
|
|
+ /**
|
|
|
+ * Launch a ray to try to pick a mesh in the scene
|
|
|
+ * @param ray Ray to use
|
|
|
+ * @param predicate Predicate function used to determine eligible meshes. Can be set to null. In this case, a mesh must be enabled, visible and with isPickable set to true
|
|
|
+ */
|
|
|
multiPickWithRay(ray: Ray, predicate: (mesh: Mesh) => boolean): PickingInfo[];
|
|
|
setPointerOverMesh(mesh: AbstractMesh): void;
|
|
|
getPointerOverMesh(): AbstractMesh;
|
|
@@ -2150,7 +2206,6 @@ declare module BABYLON {
|
|
|
sourceEvent: any;
|
|
|
additionalData: any;
|
|
|
/**
|
|
|
- * @constructor
|
|
|
* @param source The mesh or sprite that triggered the action.
|
|
|
* @param pointerX The X mouse cursor position at the time of the event
|
|
|
* @param pointerY The Y mouse cursor position at the time of the event
|
|
@@ -2448,6 +2503,188 @@ declare module BABYLON {
|
|
|
}
|
|
|
|
|
|
declare module BABYLON {
|
|
|
+ class Analyser {
|
|
|
+ SMOOTHING: number;
|
|
|
+ FFT_SIZE: number;
|
|
|
+ BARGRAPHAMPLITUDE: number;
|
|
|
+ DEBUGCANVASPOS: {
|
|
|
+ x: number;
|
|
|
+ y: number;
|
|
|
+ };
|
|
|
+ DEBUGCANVASSIZE: {
|
|
|
+ width: number;
|
|
|
+ height: number;
|
|
|
+ };
|
|
|
+ private _byteFreqs;
|
|
|
+ private _byteTime;
|
|
|
+ private _floatFreqs;
|
|
|
+ private _webAudioAnalyser;
|
|
|
+ private _debugCanvas;
|
|
|
+ private _debugCanvasContext;
|
|
|
+ private _scene;
|
|
|
+ private _registerFunc;
|
|
|
+ private _audioEngine;
|
|
|
+ constructor(scene: Scene);
|
|
|
+ getFrequencyBinCount(): number;
|
|
|
+ getByteFrequencyData(): Uint8Array;
|
|
|
+ getByteTimeDomainData(): Uint8Array;
|
|
|
+ getFloatFrequencyData(): Uint8Array;
|
|
|
+ drawDebugCanvas(): void;
|
|
|
+ stopDebugCanvas(): void;
|
|
|
+ connectAudioNodes(inputAudioNode: AudioNode, outputAudioNode: AudioNode): void;
|
|
|
+ dispose(): void;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+declare module BABYLON {
|
|
|
+ class AudioEngine {
|
|
|
+ private _audioContext;
|
|
|
+ private _audioContextInitialized;
|
|
|
+ canUseWebAudio: boolean;
|
|
|
+ masterGain: GainNode;
|
|
|
+ private _connectedAnalyser;
|
|
|
+ WarnedWebAudioUnsupported: boolean;
|
|
|
+ unlocked: boolean;
|
|
|
+ onAudioUnlocked: () => any;
|
|
|
+ isMP3supported: boolean;
|
|
|
+ isOGGsupported: boolean;
|
|
|
+ readonly audioContext: AudioContext;
|
|
|
+ constructor();
|
|
|
+ private _unlockiOSaudio();
|
|
|
+ private _initializeAudioContext();
|
|
|
+ dispose(): void;
|
|
|
+ getGlobalVolume(): number;
|
|
|
+ setGlobalVolume(newVolume: number): void;
|
|
|
+ connectToAnalyser(analyser: Analyser): void;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+declare module BABYLON {
|
|
|
+ class Sound {
|
|
|
+ name: string;
|
|
|
+ autoplay: boolean;
|
|
|
+ loop: boolean;
|
|
|
+ useCustomAttenuation: boolean;
|
|
|
+ soundTrackId: number;
|
|
|
+ spatialSound: boolean;
|
|
|
+ refDistance: number;
|
|
|
+ rolloffFactor: number;
|
|
|
+ maxDistance: number;
|
|
|
+ distanceModel: string;
|
|
|
+ private _panningModel;
|
|
|
+ onended: () => any;
|
|
|
+ private _playbackRate;
|
|
|
+ private _streaming;
|
|
|
+ private _startTime;
|
|
|
+ private _startOffset;
|
|
|
+ private _position;
|
|
|
+ private _localDirection;
|
|
|
+ private _volume;
|
|
|
+ private _isLoaded;
|
|
|
+ private _isReadyToPlay;
|
|
|
+ isPlaying: boolean;
|
|
|
+ isPaused: boolean;
|
|
|
+ private _isDirectional;
|
|
|
+ private _readyToPlayCallback;
|
|
|
+ private _audioBuffer;
|
|
|
+ private _soundSource;
|
|
|
+ private _streamingSource;
|
|
|
+ private _soundPanner;
|
|
|
+ private _soundGain;
|
|
|
+ private _inputAudioNode;
|
|
|
+ private _ouputAudioNode;
|
|
|
+ private _coneInnerAngle;
|
|
|
+ private _coneOuterAngle;
|
|
|
+ private _coneOuterGain;
|
|
|
+ private _scene;
|
|
|
+ private _connectedMesh;
|
|
|
+ private _customAttenuationFunction;
|
|
|
+ private _registerFunc;
|
|
|
+ private _isOutputConnected;
|
|
|
+ private _htmlAudioElement;
|
|
|
+ private _urlType;
|
|
|
+ /**
|
|
|
+ * Create a sound and attach it to a scene
|
|
|
+ * @param name Name of your sound
|
|
|
+ * @param urlOrArrayBuffer Url to the sound to load async or ArrayBuffer
|
|
|
+ * @param readyToPlayCallback Provide a callback function if you'd like to load your code once the sound is ready to be played
|
|
|
+ * @param options Objects to provide with the current available options: autoplay, loop, volume, spatialSound, maxDistance, rolloffFactor, refDistance, distanceModel, panningModel, streaming
|
|
|
+ */
|
|
|
+ constructor(name: string, urlOrArrayBuffer: any, scene: Scene, readyToPlayCallback?: () => void, options?: any);
|
|
|
+ dispose(): void;
|
|
|
+ isReady(): boolean;
|
|
|
+ private _soundLoaded(audioData);
|
|
|
+ setAudioBuffer(audioBuffer: AudioBuffer): void;
|
|
|
+ updateOptions(options: any): void;
|
|
|
+ private _createSpatialParameters();
|
|
|
+ private _updateSpatialParameters();
|
|
|
+ switchPanningModelToHRTF(): void;
|
|
|
+ switchPanningModelToEqualPower(): void;
|
|
|
+ private _switchPanningModel();
|
|
|
+ connectToSoundTrackAudioNode(soundTrackAudioNode: AudioNode): void;
|
|
|
+ /**
|
|
|
+ * Transform this sound into a directional source
|
|
|
+ * @param coneInnerAngle Size of the inner cone in degree
|
|
|
+ * @param coneOuterAngle Size of the outer cone in degree
|
|
|
+ * @param coneOuterGain Volume of the sound outside the outer cone (between 0.0 and 1.0)
|
|
|
+ */
|
|
|
+ setDirectionalCone(coneInnerAngle: number, coneOuterAngle: number, coneOuterGain: number): void;
|
|
|
+ setPosition(newPosition: Vector3): void;
|
|
|
+ setLocalDirectionToMesh(newLocalDirection: Vector3): void;
|
|
|
+ private _updateDirection();
|
|
|
+ updateDistanceFromListener(): void;
|
|
|
+ setAttenuationFunction(callback: (currentVolume: number, currentDistance: number, maxDistance: number, refDistance: number, rolloffFactor: number) => number): void;
|
|
|
+ /**
|
|
|
+ * Play the sound
|
|
|
+ * @param time (optional) Start the sound after X seconds. Start immediately (0) by default.
|
|
|
+ * @param offset (optional) Start the sound setting it at a specific time
|
|
|
+ */
|
|
|
+ play(time?: number, offset?: number): void;
|
|
|
+ private _onended();
|
|
|
+ /**
|
|
|
+ * Stop the sound
|
|
|
+ * @param time (optional) Stop the sound after X seconds. Stop immediately (0) by default.
|
|
|
+ */
|
|
|
+ stop(time?: number): void;
|
|
|
+ pause(): void;
|
|
|
+ setVolume(newVolume: number, time?: number): void;
|
|
|
+ setPlaybackRate(newPlaybackRate: number): void;
|
|
|
+ getVolume(): number;
|
|
|
+ attachToMesh(meshToConnectTo: AbstractMesh): void;
|
|
|
+ detachFromMesh(): void;
|
|
|
+ private _onRegisterAfterWorldMatrixUpdate(connectedMesh);
|
|
|
+ clone(): Sound;
|
|
|
+ getAudioBuffer(): AudioBuffer;
|
|
|
+ serialize(): any;
|
|
|
+ static Parse(parsedSound: any, scene: Scene, rootUrl: string, sourceSound?: Sound): Sound;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+declare module BABYLON {
|
|
|
+ class SoundTrack {
|
|
|
+ private _outputAudioNode;
|
|
|
+ private _inputAudioNode;
|
|
|
+ private _trackConvolver;
|
|
|
+ private _scene;
|
|
|
+ id: number;
|
|
|
+ soundCollection: Array<Sound>;
|
|
|
+ private _isMainTrack;
|
|
|
+ private _connectedAnalyser;
|
|
|
+ private _options;
|
|
|
+ private _isInitialized;
|
|
|
+ constructor(scene: Scene, options?: any);
|
|
|
+ private _initializeSoundTrackAudioGraph();
|
|
|
+ dispose(): void;
|
|
|
+ AddSound(sound: Sound): void;
|
|
|
+ RemoveSound(sound: Sound): void;
|
|
|
+ setVolume(newVolume: number): void;
|
|
|
+ switchPanningModelToHRTF(): void;
|
|
|
+ switchPanningModelToEqualPower(): void;
|
|
|
+ connectToAnalyser(analyser: Analyser): void;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+declare module BABYLON {
|
|
|
class Animatable {
|
|
|
target: any;
|
|
|
fromFrame: number;
|
|
@@ -2643,220 +2880,38 @@ declare module BABYLON {
|
|
|
class ElasticEase extends EasingFunction implements IEasingFunction {
|
|
|
oscillations: number;
|
|
|
springiness: number;
|
|
|
- constructor(oscillations?: number, springiness?: number);
|
|
|
- easeInCore(gradient: number): number;
|
|
|
- }
|
|
|
- class ExponentialEase extends EasingFunction implements IEasingFunction {
|
|
|
- exponent: number;
|
|
|
- constructor(exponent?: number);
|
|
|
- easeInCore(gradient: number): number;
|
|
|
- }
|
|
|
- class PowerEase extends EasingFunction implements IEasingFunction {
|
|
|
- power: number;
|
|
|
- constructor(power?: number);
|
|
|
- easeInCore(gradient: number): number;
|
|
|
- }
|
|
|
- class QuadraticEase extends EasingFunction implements IEasingFunction {
|
|
|
- easeInCore(gradient: number): number;
|
|
|
- }
|
|
|
- class QuarticEase extends EasingFunction implements IEasingFunction {
|
|
|
- easeInCore(gradient: number): number;
|
|
|
- }
|
|
|
- class QuinticEase extends EasingFunction implements IEasingFunction {
|
|
|
- easeInCore(gradient: number): number;
|
|
|
- }
|
|
|
- class SineEase extends EasingFunction implements IEasingFunction {
|
|
|
- easeInCore(gradient: number): number;
|
|
|
- }
|
|
|
- class BezierCurveEase extends EasingFunction implements IEasingFunction {
|
|
|
- x1: number;
|
|
|
- y1: number;
|
|
|
- x2: number;
|
|
|
- y2: number;
|
|
|
- constructor(x1?: number, y1?: number, x2?: number, y2?: number);
|
|
|
- easeInCore(gradient: number): number;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-declare module BABYLON {
|
|
|
- class Analyser {
|
|
|
- SMOOTHING: number;
|
|
|
- FFT_SIZE: number;
|
|
|
- BARGRAPHAMPLITUDE: number;
|
|
|
- DEBUGCANVASPOS: {
|
|
|
- x: number;
|
|
|
- y: number;
|
|
|
- };
|
|
|
- DEBUGCANVASSIZE: {
|
|
|
- width: number;
|
|
|
- height: number;
|
|
|
- };
|
|
|
- private _byteFreqs;
|
|
|
- private _byteTime;
|
|
|
- private _floatFreqs;
|
|
|
- private _webAudioAnalyser;
|
|
|
- private _debugCanvas;
|
|
|
- private _debugCanvasContext;
|
|
|
- private _scene;
|
|
|
- private _registerFunc;
|
|
|
- private _audioEngine;
|
|
|
- constructor(scene: Scene);
|
|
|
- getFrequencyBinCount(): number;
|
|
|
- getByteFrequencyData(): Uint8Array;
|
|
|
- getByteTimeDomainData(): Uint8Array;
|
|
|
- getFloatFrequencyData(): Uint8Array;
|
|
|
- drawDebugCanvas(): void;
|
|
|
- stopDebugCanvas(): void;
|
|
|
- connectAudioNodes(inputAudioNode: AudioNode, outputAudioNode: AudioNode): void;
|
|
|
- dispose(): void;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-declare module BABYLON {
|
|
|
- class AudioEngine {
|
|
|
- private _audioContext;
|
|
|
- private _audioContextInitialized;
|
|
|
- canUseWebAudio: boolean;
|
|
|
- masterGain: GainNode;
|
|
|
- private _connectedAnalyser;
|
|
|
- WarnedWebAudioUnsupported: boolean;
|
|
|
- unlocked: boolean;
|
|
|
- onAudioUnlocked: () => any;
|
|
|
- isMP3supported: boolean;
|
|
|
- isOGGsupported: boolean;
|
|
|
- readonly audioContext: AudioContext;
|
|
|
- constructor();
|
|
|
- private _unlockiOSaudio();
|
|
|
- private _initializeAudioContext();
|
|
|
- dispose(): void;
|
|
|
- getGlobalVolume(): number;
|
|
|
- setGlobalVolume(newVolume: number): void;
|
|
|
- connectToAnalyser(analyser: Analyser): void;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-declare module BABYLON {
|
|
|
- class Sound {
|
|
|
- name: string;
|
|
|
- autoplay: boolean;
|
|
|
- loop: boolean;
|
|
|
- useCustomAttenuation: boolean;
|
|
|
- soundTrackId: number;
|
|
|
- spatialSound: boolean;
|
|
|
- refDistance: number;
|
|
|
- rolloffFactor: number;
|
|
|
- maxDistance: number;
|
|
|
- distanceModel: string;
|
|
|
- private _panningModel;
|
|
|
- onended: () => any;
|
|
|
- private _playbackRate;
|
|
|
- private _streaming;
|
|
|
- private _startTime;
|
|
|
- private _startOffset;
|
|
|
- private _position;
|
|
|
- private _localDirection;
|
|
|
- private _volume;
|
|
|
- private _isLoaded;
|
|
|
- private _isReadyToPlay;
|
|
|
- isPlaying: boolean;
|
|
|
- isPaused: boolean;
|
|
|
- private _isDirectional;
|
|
|
- private _readyToPlayCallback;
|
|
|
- private _audioBuffer;
|
|
|
- private _soundSource;
|
|
|
- private _streamingSource;
|
|
|
- private _soundPanner;
|
|
|
- private _soundGain;
|
|
|
- private _inputAudioNode;
|
|
|
- private _ouputAudioNode;
|
|
|
- private _coneInnerAngle;
|
|
|
- private _coneOuterAngle;
|
|
|
- private _coneOuterGain;
|
|
|
- private _scene;
|
|
|
- private _connectedMesh;
|
|
|
- private _customAttenuationFunction;
|
|
|
- private _registerFunc;
|
|
|
- private _isOutputConnected;
|
|
|
- private _htmlAudioElement;
|
|
|
- private _urlType;
|
|
|
- /**
|
|
|
- * Create a sound and attach it to a scene
|
|
|
- * @param name Name of your sound
|
|
|
- * @param urlOrArrayBuffer Url to the sound to load async or ArrayBuffer
|
|
|
- * @param readyToPlayCallback Provide a callback function if you'd like to load your code once the sound is ready to be played
|
|
|
- * @param options Objects to provide with the current available options: autoplay, loop, volume, spatialSound, maxDistance, rolloffFactor, refDistance, distanceModel, panningModel, streaming
|
|
|
- */
|
|
|
- constructor(name: string, urlOrArrayBuffer: any, scene: Scene, readyToPlayCallback?: () => void, options?: any);
|
|
|
- dispose(): void;
|
|
|
- isReady(): boolean;
|
|
|
- private _soundLoaded(audioData);
|
|
|
- setAudioBuffer(audioBuffer: AudioBuffer): void;
|
|
|
- updateOptions(options: any): void;
|
|
|
- private _createSpatialParameters();
|
|
|
- private _updateSpatialParameters();
|
|
|
- switchPanningModelToHRTF(): void;
|
|
|
- switchPanningModelToEqualPower(): void;
|
|
|
- private _switchPanningModel();
|
|
|
- connectToSoundTrackAudioNode(soundTrackAudioNode: AudioNode): void;
|
|
|
- /**
|
|
|
- * Transform this sound into a directional source
|
|
|
- * @param coneInnerAngle Size of the inner cone in degree
|
|
|
- * @param coneOuterAngle Size of the outer cone in degree
|
|
|
- * @param coneOuterGain Volume of the sound outside the outer cone (between 0.0 and 1.0)
|
|
|
- */
|
|
|
- setDirectionalCone(coneInnerAngle: number, coneOuterAngle: number, coneOuterGain: number): void;
|
|
|
- setPosition(newPosition: Vector3): void;
|
|
|
- setLocalDirectionToMesh(newLocalDirection: Vector3): void;
|
|
|
- private _updateDirection();
|
|
|
- updateDistanceFromListener(): void;
|
|
|
- setAttenuationFunction(callback: (currentVolume: number, currentDistance: number, maxDistance: number, refDistance: number, rolloffFactor: number) => number): void;
|
|
|
- /**
|
|
|
- * Play the sound
|
|
|
- * @param time (optional) Start the sound after X seconds. Start immediately (0) by default.
|
|
|
- * @param offset (optional) Start the sound setting it at a specific time
|
|
|
- */
|
|
|
- play(time?: number, offset?: number): void;
|
|
|
- private _onended();
|
|
|
- /**
|
|
|
- * Stop the sound
|
|
|
- * @param time (optional) Stop the sound after X seconds. Stop immediately (0) by default.
|
|
|
- */
|
|
|
- stop(time?: number): void;
|
|
|
- pause(): void;
|
|
|
- setVolume(newVolume: number, time?: number): void;
|
|
|
- setPlaybackRate(newPlaybackRate: number): void;
|
|
|
- getVolume(): number;
|
|
|
- attachToMesh(meshToConnectTo: AbstractMesh): void;
|
|
|
- detachFromMesh(): void;
|
|
|
- private _onRegisterAfterWorldMatrixUpdate(connectedMesh);
|
|
|
- clone(): Sound;
|
|
|
- getAudioBuffer(): AudioBuffer;
|
|
|
- serialize(): any;
|
|
|
- static Parse(parsedSound: any, scene: Scene, rootUrl: string, sourceSound?: Sound): Sound;
|
|
|
+ constructor(oscillations?: number, springiness?: number);
|
|
|
+ easeInCore(gradient: number): number;
|
|
|
}
|
|
|
-}
|
|
|
-
|
|
|
-declare module BABYLON {
|
|
|
- class SoundTrack {
|
|
|
- private _outputAudioNode;
|
|
|
- private _inputAudioNode;
|
|
|
- private _trackConvolver;
|
|
|
- private _scene;
|
|
|
- id: number;
|
|
|
- soundCollection: Array<Sound>;
|
|
|
- private _isMainTrack;
|
|
|
- private _connectedAnalyser;
|
|
|
- private _options;
|
|
|
- private _isInitialized;
|
|
|
- constructor(scene: Scene, options?: any);
|
|
|
- private _initializeSoundTrackAudioGraph();
|
|
|
- dispose(): void;
|
|
|
- AddSound(sound: Sound): void;
|
|
|
- RemoveSound(sound: Sound): void;
|
|
|
- setVolume(newVolume: number): void;
|
|
|
- switchPanningModelToHRTF(): void;
|
|
|
- switchPanningModelToEqualPower(): void;
|
|
|
- connectToAnalyser(analyser: Analyser): void;
|
|
|
+ class ExponentialEase extends EasingFunction implements IEasingFunction {
|
|
|
+ exponent: number;
|
|
|
+ constructor(exponent?: number);
|
|
|
+ easeInCore(gradient: number): number;
|
|
|
+ }
|
|
|
+ class PowerEase extends EasingFunction implements IEasingFunction {
|
|
|
+ power: number;
|
|
|
+ constructor(power?: number);
|
|
|
+ easeInCore(gradient: number): number;
|
|
|
+ }
|
|
|
+ class QuadraticEase extends EasingFunction implements IEasingFunction {
|
|
|
+ easeInCore(gradient: number): number;
|
|
|
+ }
|
|
|
+ class QuarticEase extends EasingFunction implements IEasingFunction {
|
|
|
+ easeInCore(gradient: number): number;
|
|
|
+ }
|
|
|
+ class QuinticEase extends EasingFunction implements IEasingFunction {
|
|
|
+ easeInCore(gradient: number): number;
|
|
|
+ }
|
|
|
+ class SineEase extends EasingFunction implements IEasingFunction {
|
|
|
+ easeInCore(gradient: number): number;
|
|
|
+ }
|
|
|
+ class BezierCurveEase extends EasingFunction implements IEasingFunction {
|
|
|
+ x1: number;
|
|
|
+ y1: number;
|
|
|
+ x2: number;
|
|
|
+ y2: number;
|
|
|
+ constructor(x1?: number, y1?: number, x2?: number, y2?: number);
|
|
|
+ easeInCore(gradient: number): number;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -4594,6 +4649,102 @@ declare module BABYLON {
|
|
|
}
|
|
|
|
|
|
declare module BABYLON {
|
|
|
+ interface ILoadingScreen {
|
|
|
+ displayLoadingUI: () => void;
|
|
|
+ hideLoadingUI: () => void;
|
|
|
+ loadingUIBackgroundColor: string;
|
|
|
+ loadingUIText: string;
|
|
|
+ }
|
|
|
+ class DefaultLoadingScreen implements ILoadingScreen {
|
|
|
+ private _renderingCanvas;
|
|
|
+ private _loadingText;
|
|
|
+ private _loadingDivBackgroundColor;
|
|
|
+ private _loadingDiv;
|
|
|
+ private _loadingTextDiv;
|
|
|
+ constructor(_renderingCanvas: HTMLCanvasElement, _loadingText?: string, _loadingDivBackgroundColor?: string);
|
|
|
+ displayLoadingUI(): void;
|
|
|
+ hideLoadingUI(): void;
|
|
|
+ loadingUIText: string;
|
|
|
+ loadingUIBackgroundColor: string;
|
|
|
+ private _resizeLoadingUI;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+declare module BABYLON {
|
|
|
+ interface ISceneLoaderPluginExtensions {
|
|
|
+ [extension: string]: {
|
|
|
+ isBinary: boolean;
|
|
|
+ };
|
|
|
+ }
|
|
|
+ interface ISceneLoaderPlugin {
|
|
|
+ name: string;
|
|
|
+ extensions: string | ISceneLoaderPluginExtensions;
|
|
|
+ importMesh: (meshesNames: any, scene: Scene, data: any, rootUrl: string, meshes: AbstractMesh[], particleSystems: ParticleSystem[], skeletons: Skeleton[], onError: (message: string) => void) => boolean;
|
|
|
+ load: (scene: Scene, data: string, rootUrl: string, onError: (message: string) => void) => boolean;
|
|
|
+ canDirectLoad?: (data: string) => boolean;
|
|
|
+ }
|
|
|
+ interface ISceneLoaderPluginAsync {
|
|
|
+ name: string;
|
|
|
+ extensions: string | ISceneLoaderPluginExtensions;
|
|
|
+ importMeshAsync: (meshesNames: any, scene: Scene, data: any, rootUrl: string, onSuccess: (meshes: AbstractMesh[], particleSystems: ParticleSystem[], skeletons: Skeleton[]) => void, onProgress: (event: ProgressEvent) => void, onError: (message: string) => void) => void;
|
|
|
+ loadAsync: (scene: Scene, data: string, rootUrl: string, onSuccess: () => void, onProgress: (event: ProgressEvent) => void, onError: (message: string) => void) => void;
|
|
|
+ canDirectLoad?: (data: string) => boolean;
|
|
|
+ }
|
|
|
+ class SceneLoader {
|
|
|
+ private static _ForceFullSceneLoadingForIncremental;
|
|
|
+ private static _ShowLoadingScreen;
|
|
|
+ static readonly NO_LOGGING: number;
|
|
|
+ static readonly MINIMAL_LOGGING: number;
|
|
|
+ static readonly SUMMARY_LOGGING: number;
|
|
|
+ static readonly DETAILED_LOGGING: number;
|
|
|
+ private static _loggingLevel;
|
|
|
+ static ForceFullSceneLoadingForIncremental: boolean;
|
|
|
+ static ShowLoadingScreen: boolean;
|
|
|
+ static loggingLevel: number;
|
|
|
+ private static _registeredPlugins;
|
|
|
+ private static _getDefaultPlugin();
|
|
|
+ private static _getPluginForExtension(extension);
|
|
|
+ private static _getPluginForDirectLoad(data);
|
|
|
+ private static _getPluginForFilename(sceneFilename);
|
|
|
+ private static _getDirectLoad(sceneFilename);
|
|
|
+ private static _loadData(rootUrl, sceneFilename, scene, onSuccess, onProgress, onError);
|
|
|
+ static GetPluginForExtension(extension: string): ISceneLoaderPlugin | ISceneLoaderPluginAsync;
|
|
|
+ static RegisterPlugin(plugin: ISceneLoaderPlugin | ISceneLoaderPluginAsync): void;
|
|
|
+ /**
|
|
|
+ * Import meshes into a scene
|
|
|
+ * @param meshNames an array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported
|
|
|
+ * @param rootUrl a string that defines the root url for scene and resources
|
|
|
+ * @param sceneFilename a string that defines the name of the scene file. can start with "data:" following by the stringified version of the scene
|
|
|
+ * @param scene the instance of BABYLON.Scene to append to
|
|
|
+ * @param onSuccess a callback with a list of imported meshes, particleSystems, and skeletons when import succeeds
|
|
|
+ * @param onProgress a callback with a progress event for each file being loaded
|
|
|
+ * @param onError a callback with the scene, a message, and possibly an exception when import fails
|
|
|
+ */
|
|
|
+ static ImportMesh(meshNames: any, rootUrl: string, sceneFilename: string, scene: Scene, onSuccess?: (meshes: AbstractMesh[], particleSystems: ParticleSystem[], skeletons: Skeleton[]) => void, onProgress?: (event: ProgressEvent) => void, onError?: (scene: Scene, message: string, exception?: any) => void): void;
|
|
|
+ /**
|
|
|
+ * Load a scene
|
|
|
+ * @param rootUrl a string that defines the root url for scene and resources
|
|
|
+ * @param sceneFilename a string that defines the name of the scene file. can start with "data:" following by the stringified version of the scene
|
|
|
+ * @param engine is the instance of BABYLON.Engine to use to create the scene
|
|
|
+ * @param onSuccess a callback with the scene when import succeeds
|
|
|
+ * @param onProgress a callback with a progress event for each file being loaded
|
|
|
+ * @param onError a callback with the scene, a message, and possibly an exception when import fails
|
|
|
+ */
|
|
|
+ static Load(rootUrl: string, sceneFilename: any, engine: Engine, onSuccess?: (scene: Scene) => void, onProgress?: (event: ProgressEvent) => void, onError?: (scene: Scene, message: string, exception?: any) => void): void;
|
|
|
+ /**
|
|
|
+ * Append a scene
|
|
|
+ * @param rootUrl a string that defines the root url for scene and resources
|
|
|
+ * @param sceneFilename a string that defines the name of the scene file. can start with "data:" following by the stringified version of the scene
|
|
|
+ * @param scene is the instance of BABYLON.Scene to append to
|
|
|
+ * @param onSuccess a callback with the scene when import succeeds
|
|
|
+ * @param onProgress a callback with a progress event for each file being loaded
|
|
|
+ * @param onError a callback with the scene, a message, and possibly an exception when import fails
|
|
|
+ */
|
|
|
+ static Append(rootUrl: string, sceneFilename: any, scene: Scene, onSuccess?: (scene: Scene) => void, onProgress?: (event: ProgressEvent) => void, onError?: (scene: Scene, message: string, exception?: any) => void): void;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+declare module BABYLON {
|
|
|
class DirectionalLight extends ShadowLight {
|
|
|
private _shadowFrustumSize;
|
|
|
/**
|
|
@@ -5127,102 +5278,6 @@ declare module BABYLON {
|
|
|
}
|
|
|
|
|
|
declare module BABYLON {
|
|
|
- interface ILoadingScreen {
|
|
|
- displayLoadingUI: () => void;
|
|
|
- hideLoadingUI: () => void;
|
|
|
- loadingUIBackgroundColor: string;
|
|
|
- loadingUIText: string;
|
|
|
- }
|
|
|
- class DefaultLoadingScreen implements ILoadingScreen {
|
|
|
- private _renderingCanvas;
|
|
|
- private _loadingText;
|
|
|
- private _loadingDivBackgroundColor;
|
|
|
- private _loadingDiv;
|
|
|
- private _loadingTextDiv;
|
|
|
- constructor(_renderingCanvas: HTMLCanvasElement, _loadingText?: string, _loadingDivBackgroundColor?: string);
|
|
|
- displayLoadingUI(): void;
|
|
|
- hideLoadingUI(): void;
|
|
|
- loadingUIText: string;
|
|
|
- loadingUIBackgroundColor: string;
|
|
|
- private _resizeLoadingUI;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-declare module BABYLON {
|
|
|
- interface ISceneLoaderPluginExtensions {
|
|
|
- [extension: string]: {
|
|
|
- isBinary: boolean;
|
|
|
- };
|
|
|
- }
|
|
|
- interface ISceneLoaderPlugin {
|
|
|
- name: string;
|
|
|
- extensions: string | ISceneLoaderPluginExtensions;
|
|
|
- importMesh: (meshesNames: any, scene: Scene, data: any, rootUrl: string, meshes: AbstractMesh[], particleSystems: ParticleSystem[], skeletons: Skeleton[], onError: (message: string) => void) => boolean;
|
|
|
- load: (scene: Scene, data: string, rootUrl: string, onError: (message: string) => void) => boolean;
|
|
|
- canDirectLoad?: (data: string) => boolean;
|
|
|
- }
|
|
|
- interface ISceneLoaderPluginAsync {
|
|
|
- name: string;
|
|
|
- extensions: string | ISceneLoaderPluginExtensions;
|
|
|
- importMeshAsync: (meshesNames: any, scene: Scene, data: any, rootUrl: string, onSuccess: (meshes: AbstractMesh[], particleSystems: ParticleSystem[], skeletons: Skeleton[]) => void, onProgress: (event: ProgressEvent) => void, onError: (message: string) => void) => void;
|
|
|
- loadAsync: (scene: Scene, data: string, rootUrl: string, onSuccess: () => void, onProgress: (event: ProgressEvent) => void, onError: (message: string) => void) => void;
|
|
|
- canDirectLoad?: (data: string) => boolean;
|
|
|
- }
|
|
|
- class SceneLoader {
|
|
|
- private static _ForceFullSceneLoadingForIncremental;
|
|
|
- private static _ShowLoadingScreen;
|
|
|
- static readonly NO_LOGGING: number;
|
|
|
- static readonly MINIMAL_LOGGING: number;
|
|
|
- static readonly SUMMARY_LOGGING: number;
|
|
|
- static readonly DETAILED_LOGGING: number;
|
|
|
- private static _loggingLevel;
|
|
|
- static ForceFullSceneLoadingForIncremental: boolean;
|
|
|
- static ShowLoadingScreen: boolean;
|
|
|
- static loggingLevel: number;
|
|
|
- private static _registeredPlugins;
|
|
|
- private static _getDefaultPlugin();
|
|
|
- private static _getPluginForExtension(extension);
|
|
|
- private static _getPluginForDirectLoad(data);
|
|
|
- private static _getPluginForFilename(sceneFilename);
|
|
|
- private static _getDirectLoad(sceneFilename);
|
|
|
- private static _loadData(rootUrl, sceneFilename, scene, onSuccess, onProgress, onError);
|
|
|
- static GetPluginForExtension(extension: string): ISceneLoaderPlugin | ISceneLoaderPluginAsync;
|
|
|
- static RegisterPlugin(plugin: ISceneLoaderPlugin | ISceneLoaderPluginAsync): void;
|
|
|
- /**
|
|
|
- * Import meshes into a scene
|
|
|
- * @param meshNames an array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported
|
|
|
- * @param rootUrl a string that defines the root url for scene and resources
|
|
|
- * @param sceneFilename a string that defines the name of the scene file. can start with "data:" following by the stringified version of the scene
|
|
|
- * @param scene the instance of BABYLON.Scene to append to
|
|
|
- * @param onSuccess a callback with a list of imported meshes, particleSystems, and skeletons when import succeeds
|
|
|
- * @param onProgress a callback with a progress event for each file being loaded
|
|
|
- * @param onError a callback with the scene, a message, and possibly an exception when import fails
|
|
|
- */
|
|
|
- static ImportMesh(meshNames: any, rootUrl: string, sceneFilename: string, scene: Scene, onSuccess?: (meshes: AbstractMesh[], particleSystems: ParticleSystem[], skeletons: Skeleton[]) => void, onProgress?: (event: ProgressEvent) => void, onError?: (scene: Scene, message: string, exception?: any) => void): void;
|
|
|
- /**
|
|
|
- * Load a scene
|
|
|
- * @param rootUrl a string that defines the root url for scene and resources
|
|
|
- * @param sceneFilename a string that defines the name of the scene file. can start with "data:" following by the stringified version of the scene
|
|
|
- * @param engine is the instance of BABYLON.Engine to use to create the scene
|
|
|
- * @param onSuccess a callback with the scene when import succeeds
|
|
|
- * @param onProgress a callback with a progress event for each file being loaded
|
|
|
- * @param onError a callback with the scene, a message, and possibly an exception when import fails
|
|
|
- */
|
|
|
- static Load(rootUrl: string, sceneFilename: any, engine: Engine, onSuccess?: (scene: Scene) => void, onProgress?: (event: ProgressEvent) => void, onError?: (scene: Scene, message: string, exception?: any) => void): void;
|
|
|
- /**
|
|
|
- * Append a scene
|
|
|
- * @param rootUrl a string that defines the root url for scene and resources
|
|
|
- * @param sceneFilename a string that defines the name of the scene file. can start with "data:" following by the stringified version of the scene
|
|
|
- * @param scene is the instance of BABYLON.Scene to append to
|
|
|
- * @param onSuccess a callback with the scene when import succeeds
|
|
|
- * @param onProgress a callback with a progress event for each file being loaded
|
|
|
- * @param onError a callback with the scene, a message, and possibly an exception when import fails
|
|
|
- */
|
|
|
- static Append(rootUrl: string, sceneFilename: any, scene: Scene, onSuccess?: (scene: Scene) => void, onProgress?: (event: ProgressEvent) => void, onError?: (scene: Scene, message: string, exception?: any) => void): void;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-declare module BABYLON {
|
|
|
/**
|
|
|
* The color grading curves provide additional color adjustmnent that is applied after any color grading transform (3D LUT).
|
|
|
* They allow basic adjustment of saturation and small exposure adjustments, along with color filter tinting to provide white balance adjustment or more stylistic effects.
|
|
@@ -15902,6 +15957,9 @@ declare module BABYLON {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+declare module BABYLON.Internals {
|
|
|
+}
|
|
|
+
|
|
|
declare module BABYLON {
|
|
|
/**
|
|
|
* Interface to implement to create a shadow generator compatible with BJS.
|
|
@@ -16063,9 +16121,6 @@ declare module BABYLON {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-declare module BABYLON.Internals {
|
|
|
-}
|
|
|
-
|
|
|
declare module BABYLON {
|
|
|
/**
|
|
|
* The Physically based material base class of BJS.
|
|
@@ -17298,6 +17353,11 @@ declare module BABYLON {
|
|
|
* An event triggered when the texture is unbind.
|
|
|
* @type {BABYLON.Observable}
|
|
|
*/
|
|
|
+ onBeforeBindObservable: Observable<RenderTargetTexture>;
|
|
|
+ /**
|
|
|
+ * An event triggered when the texture is unbind.
|
|
|
+ * @type {BABYLON.Observable}
|
|
|
+ */
|
|
|
onAfterUnbindObservable: Observable<RenderTargetTexture>;
|
|
|
private _onAfterUnbindObserver;
|
|
|
onAfterUnbind: () => void;
|