|
@@ -5293,6 +5293,150 @@ declare module "babylonjs/Meshes/dataBuffer" {
|
|
|
readonly underlyingResource: any;
|
|
|
}
|
|
|
}
|
|
|
+declare module "babylonjs/Engines/Processors/iShaderProcessor" {
|
|
|
+ /** @hidden */
|
|
|
+ export interface IShaderProcessor {
|
|
|
+ attributeProcessor?: (attribute: string) => string;
|
|
|
+ varyingProcessor?: (varying: string, isFragment: boolean) => string;
|
|
|
+ preProcessor?: (code: string, defines: string[], isFragment: boolean) => string;
|
|
|
+ postProcessor?: (code: string, defines: string[], isFragment: boolean) => string;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module "babylonjs/Engines/Processors/shaderProcessingOptions" {
|
|
|
+ import { IShaderProcessor } from "babylonjs/Engines/Processors/iShaderProcessor";
|
|
|
+ /** @hidden */
|
|
|
+ export interface ProcessingOptions {
|
|
|
+ defines: string;
|
|
|
+ indexParameters: any;
|
|
|
+ isFragment: boolean;
|
|
|
+ shouldUseHighPrecisionShader: boolean;
|
|
|
+ supportsUniformBuffers: boolean;
|
|
|
+ shadersRepository: string;
|
|
|
+ includesShadersStore: {
|
|
|
+ [key: string]: string;
|
|
|
+ };
|
|
|
+ processor?: IShaderProcessor;
|
|
|
+ version: string;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module "babylonjs/Engines/Processors/shaderCodeNode" {
|
|
|
+ import { ProcessingOptions } from "babylonjs/Engines/Processors/shaderProcessingOptions";
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderCodeNode {
|
|
|
+ line: string;
|
|
|
+ children: ShaderCodeNode[];
|
|
|
+ additionalDefineKey?: string;
|
|
|
+ additionalDefineValue?: string;
|
|
|
+ isValid(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }): boolean;
|
|
|
+ process(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }, options: ProcessingOptions): string;
|
|
|
+ private _lineStartsWith;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module "babylonjs/Engines/Processors/shaderCodeCursor" {
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderCodeCursor {
|
|
|
+ lines: string[];
|
|
|
+ lineIndex: number;
|
|
|
+ readonly currentLine: string;
|
|
|
+ readonly canRead: boolean;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module "babylonjs/Engines/Processors/shaderCodeConditionNode" {
|
|
|
+ import { ShaderCodeNode } from "babylonjs/Engines/Processors/shaderCodeNode";
|
|
|
+ import { ProcessingOptions } from "babylonjs/Engines/Processors/shaderProcessingOptions";
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderCodeConditionNode extends ShaderCodeNode {
|
|
|
+ process(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }, options: ProcessingOptions): string;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module "babylonjs/Engines/Processors/Expressions/shaderDefineExpression" {
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderDefineExpression {
|
|
|
+ isTrue(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }): boolean;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module "babylonjs/Engines/Processors/shaderCodeTestNode" {
|
|
|
+ import { ShaderCodeNode } from "babylonjs/Engines/Processors/shaderCodeNode";
|
|
|
+ import { ShaderDefineExpression } from "babylonjs/Engines/Processors/Expressions/shaderDefineExpression";
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderCodeTestNode extends ShaderCodeNode {
|
|
|
+ testExpression: ShaderDefineExpression;
|
|
|
+ isValid(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }): boolean;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module "babylonjs/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator" {
|
|
|
+ import { ShaderDefineExpression } from "babylonjs/Engines/Processors/Expressions/shaderDefineExpression";
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderDefineIsDefinedOperator extends ShaderDefineExpression {
|
|
|
+ define: string;
|
|
|
+ not: boolean;
|
|
|
+ constructor(define: string, not?: boolean);
|
|
|
+ isTrue(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }): boolean;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module "babylonjs/Engines/Processors/Expressions/Operators/shaderDefineOrOperator" {
|
|
|
+ import { ShaderDefineExpression } from "babylonjs/Engines/Processors/Expressions/shaderDefineExpression";
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderDefineOrOperator extends ShaderDefineExpression {
|
|
|
+ leftOperand: ShaderDefineExpression;
|
|
|
+ rightOperand: ShaderDefineExpression;
|
|
|
+ isTrue(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }): boolean;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module "babylonjs/Engines/Processors/Expressions/Operators/shaderDefineAndOperator" {
|
|
|
+ import { ShaderDefineExpression } from "babylonjs/Engines/Processors/Expressions/shaderDefineExpression";
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderDefineAndOperator extends ShaderDefineExpression {
|
|
|
+ leftOperand: ShaderDefineExpression;
|
|
|
+ rightOperand: ShaderDefineExpression;
|
|
|
+ isTrue(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }): boolean;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module "babylonjs/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator" {
|
|
|
+ import { ShaderDefineExpression } from "babylonjs/Engines/Processors/Expressions/shaderDefineExpression";
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderDefineArithmeticOperator extends ShaderDefineExpression {
|
|
|
+ define: string;
|
|
|
+ operand: string;
|
|
|
+ testValue: string;
|
|
|
+ constructor(define: string, operand: string, testValue: string);
|
|
|
+ isTrue(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }): boolean;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module "babylonjs/Engines/Processors/shaderProcessor" {
|
|
|
+ import { ProcessingOptions } from "babylonjs/Engines/Processors/shaderProcessingOptions";
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderProcessor {
|
|
|
+ static Process(sourceCode: string, options: ProcessingOptions, callback: (migratedCode: string) => void): void;
|
|
|
+ private static _ProcessPrecision;
|
|
|
+ private static _ExtractOperation;
|
|
|
+ private static _BuildSubExpression;
|
|
|
+ private static _BuildExpression;
|
|
|
+ private static _MoveCursorWithinIf;
|
|
|
+ private static _MoveCursor;
|
|
|
+ private static _EvaluatePreProcessors;
|
|
|
+ private static _ProcessShaderConversion;
|
|
|
+ private static _ProcessIncludes;
|
|
|
+ }
|
|
|
+}
|
|
|
declare module "babylonjs/Misc/performanceMonitor" {
|
|
|
/**
|
|
|
* Performance monitor tracks rolling average frame-time and frame-time variance over a user defined sliding-window
|
|
@@ -6485,6 +6629,10 @@ declare module "babylonjs/Materials/Textures/internalTexture" {
|
|
|
/** @hidden */
|
|
|
_isRGBD: boolean;
|
|
|
/** @hidden */
|
|
|
+ _linearSpecularLOD: boolean;
|
|
|
+ /** @hidden */
|
|
|
+ _irradianceTexture: Nullable<BaseTexture>;
|
|
|
+ /** @hidden */
|
|
|
_webGLTexture: Nullable<WebGLTexture>;
|
|
|
/** @hidden */
|
|
|
_references: number;
|
|
@@ -8200,7 +8348,8 @@ declare module "babylonjs/Bones/bone" {
|
|
|
* Flag the bone as dirty (Forcing it to update everything)
|
|
|
*/
|
|
|
markAsDirty(): void;
|
|
|
- private _markAsDirtyAndCompose;
|
|
|
+ /** @hidden */
|
|
|
+ _markAsDirtyAndCompose(): void;
|
|
|
private _markAsDirtyAndDecompose;
|
|
|
/**
|
|
|
* Translate the bone in local or world space
|
|
@@ -26831,6 +26980,18 @@ declare module "babylonjs/Materials/Textures/baseTexture" {
|
|
|
*/
|
|
|
lodGenerationScale: number;
|
|
|
/**
|
|
|
+ * With prefiltered texture, defined if the specular generation is based on a linear ramp.
|
|
|
+ * By default we are using a log2 of the linear roughness helping to keep a better resolution for
|
|
|
+ * average roughness values.
|
|
|
+ */
|
|
|
+ linearSpecularLOD: boolean;
|
|
|
+ /**
|
|
|
+ * In case a better definition than spherical harmonics is required for the diffuse part of the environment.
|
|
|
+ * You can set the irradiance texture to rely on a texture instead of the spherical approach.
|
|
|
+ * This texture need to have the same characteristics than its parent (Cube vs 2d, coordinates mode, Gamma/Linear, RGBD).
|
|
|
+ */
|
|
|
+ irradianceTexture: Nullable<BaseTexture>;
|
|
|
+ /**
|
|
|
* Define if the texture is a render target.
|
|
|
*/
|
|
|
isRenderTarget: boolean;
|
|
@@ -27646,6 +27807,15 @@ declare module "babylonjs/Meshes/WebGL/webGLDataBuffer" {
|
|
|
readonly underlyingResource: any;
|
|
|
}
|
|
|
}
|
|
|
+declare module "babylonjs/Engines/WebGL/webGL2ShaderProcessors" {
|
|
|
+ import { IShaderProcessor } from "babylonjs/Engines/Processors/iShaderProcessor";
|
|
|
+ /** @hidden */
|
|
|
+ export class WebGL2ShaderProcessor implements IShaderProcessor {
|
|
|
+ attributeProcessor(attribute: string): string;
|
|
|
+ varyingProcessor(varying: string, isFragment: boolean): string;
|
|
|
+ postProcessor(code: string, defines: string[], isFragment: boolean): string;
|
|
|
+ }
|
|
|
+}
|
|
|
declare module "babylonjs/Materials/Textures/videoTexture" {
|
|
|
import { Observable } from "babylonjs/Misc/observable";
|
|
|
import { Nullable } from "babylonjs/types";
|
|
@@ -27800,6 +27970,7 @@ declare module "babylonjs/Engines/engine" {
|
|
|
import { WebGLPipelineContext } from "babylonjs/Engines/WebGL/webGLPipelineContext";
|
|
|
import { IPipelineContext } from "babylonjs/Engines/IPipelineContext";
|
|
|
import { DataBuffer } from "babylonjs/Meshes/dataBuffer";
|
|
|
+ import { IShaderProcessor } from "babylonjs/Engines/Processors/iShaderProcessor";
|
|
|
import { PostProcess } from "babylonjs/PostProcesses/postProcess";
|
|
|
import { RenderTargetTexture } from "babylonjs/Materials/Textures/renderTargetTexture";
|
|
|
/**
|
|
@@ -28011,9 +28182,7 @@ declare module "babylonjs/Engines/engine" {
|
|
|
* @param predicate defines a predicate used to filter which materials should be affected
|
|
|
*/
|
|
|
static MarkAllMaterialsAsDirty(flag: number, predicate?: (mat: Material) => boolean): void;
|
|
|
- /**
|
|
|
- * Hidden
|
|
|
- */
|
|
|
+ /** @hidden */
|
|
|
static _TextureLoaders: IInternalTextureLoader[];
|
|
|
/** Defines that alpha blending is disabled */
|
|
|
static readonly ALPHA_DISABLE: number;
|
|
@@ -28234,6 +28403,8 @@ declare module "babylonjs/Engines/engine" {
|
|
|
* Method called to create the default rescale post process on each engine.
|
|
|
*/
|
|
|
static _RescalePostProcessFactory: Nullable<(engine: Engine) => PostProcess>;
|
|
|
+ /** @hidden */
|
|
|
+ _shaderProcessor: IShaderProcessor;
|
|
|
/**
|
|
|
* Gets or sets a boolean that indicates if textures must be forced to power of 2 size even if not required
|
|
|
*/
|
|
@@ -29824,7 +29995,7 @@ declare module "babylonjs/Materials/effect" {
|
|
|
*/
|
|
|
readonly isMoreFallbacks: boolean;
|
|
|
/**
|
|
|
- * Removes the defines that shoould be removed when falling back.
|
|
|
+ * Removes the defines that should be removed when falling back.
|
|
|
* @param currentDefines defines the current define statements for the shader.
|
|
|
* @param effect defines the current effect we try to compile
|
|
|
* @returns The resulting defines with defines of the current rank removed.
|
|
@@ -30049,9 +30220,6 @@ declare module "babylonjs/Materials/effect" {
|
|
|
_loadFragmentShader(fragment: any, callback: (data: any) => void): void;
|
|
|
/** @hidden */
|
|
|
_dumpShadersSource(vertexCode: string, fragmentCode: string, defines: string): void;
|
|
|
- private _processShaderConversion;
|
|
|
- private _processIncludes;
|
|
|
- private _processPrecision;
|
|
|
/**
|
|
|
* Recompiles the webGL program
|
|
|
* @param vertexSourceCode The source code for the vertex shader.
|
|
@@ -46575,6 +46743,7 @@ declare module "babylonjs/Materials/PBR/pbrSubSurfaceConfiguration" {
|
|
|
SS_LODINREFRACTIONALPHA: boolean;
|
|
|
SS_GAMMAREFRACTION: boolean;
|
|
|
SS_RGBDREFRACTION: boolean;
|
|
|
+ SS_LINEARSPECULARREFRACTION: boolean;
|
|
|
SS_LINKREFRACTIONTOTRANSPARENCY: boolean;
|
|
|
SS_MASK_FROM_THICKNESS_TEXTURE: boolean;
|
|
|
/** @hidden */
|
|
@@ -47050,12 +47219,14 @@ declare module "babylonjs/Materials/PBR/pbrBaseMaterial" {
|
|
|
REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED: boolean;
|
|
|
INVERTCUBICMAP: boolean;
|
|
|
USESPHERICALFROMREFLECTIONMAP: boolean;
|
|
|
+ USEIRRADIANCEMAP: boolean;
|
|
|
SPHERICAL_HARMONICS: boolean;
|
|
|
USESPHERICALINVERTEX: boolean;
|
|
|
REFLECTIONMAP_OPPOSITEZ: boolean;
|
|
|
LODINREFLECTIONALPHA: boolean;
|
|
|
GAMMAREFLECTION: boolean;
|
|
|
RGBDREFLECTION: boolean;
|
|
|
+ LINEARSPECULARREFLECTION: boolean;
|
|
|
RADIANCEOCCLUSION: boolean;
|
|
|
HORIZONOCCLUSION: boolean;
|
|
|
INSTANCES: boolean;
|
|
@@ -47124,6 +47295,7 @@ declare module "babylonjs/Materials/PBR/pbrBaseMaterial" {
|
|
|
SS_LODINREFRACTIONALPHA: boolean;
|
|
|
SS_GAMMAREFRACTION: boolean;
|
|
|
SS_RGBDREFRACTION: boolean;
|
|
|
+ SS_LINEARSPECULARREFRACTION: boolean;
|
|
|
SS_LINKREFRACTIONTOTRANSPARENCY: boolean;
|
|
|
SS_MASK_FROM_THICKNESS_TEXTURE: boolean;
|
|
|
UNLIT: boolean;
|
|
@@ -61599,6 +61771,26 @@ declare module "babylonjs/Animations/pathCursor" {
|
|
|
onchange(f: (cursor: PathCursor) => void): PathCursor;
|
|
|
}
|
|
|
}
|
|
|
+declare module "babylonjs/Engines/Processors/Expressions/Operators/index" {
|
|
|
+ export * from "babylonjs/Engines/Processors/Expressions/Operators/shaderDefineAndOperator";
|
|
|
+ export * from "babylonjs/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator";
|
|
|
+ export * from "babylonjs/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator";
|
|
|
+ export * from "babylonjs/Engines/Processors/Expressions/Operators/shaderDefineOrOperator";
|
|
|
+}
|
|
|
+declare module "babylonjs/Engines/Processors/Expressions/index" {
|
|
|
+ export * from "babylonjs/Engines/Processors/Expressions/shaderDefineExpression";
|
|
|
+ export * from "babylonjs/Engines/Processors/Expressions/Operators/index";
|
|
|
+}
|
|
|
+declare module "babylonjs/Engines/Processors/index" {
|
|
|
+ export * from "babylonjs/Engines/Processors/iShaderProcessor";
|
|
|
+ export * from "babylonjs/Engines/Processors/Expressions/index";
|
|
|
+ export * from "babylonjs/Engines/Processors/shaderCodeConditionNode";
|
|
|
+ export * from "babylonjs/Engines/Processors/shaderCodeCursor";
|
|
|
+ export * from "babylonjs/Engines/Processors/shaderCodeNode";
|
|
|
+ export * from "babylonjs/Engines/Processors/shaderCodeTestNode";
|
|
|
+ export * from "babylonjs/Engines/Processors/shaderProcessingOptions";
|
|
|
+ export * from "babylonjs/Engines/Processors/shaderProcessor";
|
|
|
+}
|
|
|
declare module "babylonjs/Legacy/legacy" {
|
|
|
import * as Babylon from "babylonjs/index";
|
|
|
export * from "babylonjs/index";
|
|
@@ -67461,6 +67653,139 @@ declare module BABYLON {
|
|
|
}
|
|
|
}
|
|
|
declare module BABYLON {
|
|
|
+ /** @hidden */
|
|
|
+ export interface IShaderProcessor {
|
|
|
+ attributeProcessor?: (attribute: string) => string;
|
|
|
+ varyingProcessor?: (varying: string, isFragment: boolean) => string;
|
|
|
+ preProcessor?: (code: string, defines: string[], isFragment: boolean) => string;
|
|
|
+ postProcessor?: (code: string, defines: string[], isFragment: boolean) => string;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module BABYLON {
|
|
|
+ /** @hidden */
|
|
|
+ export interface ProcessingOptions {
|
|
|
+ defines: string;
|
|
|
+ indexParameters: any;
|
|
|
+ isFragment: boolean;
|
|
|
+ shouldUseHighPrecisionShader: boolean;
|
|
|
+ supportsUniformBuffers: boolean;
|
|
|
+ shadersRepository: string;
|
|
|
+ includesShadersStore: {
|
|
|
+ [key: string]: string;
|
|
|
+ };
|
|
|
+ processor?: IShaderProcessor;
|
|
|
+ version: string;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module BABYLON {
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderCodeNode {
|
|
|
+ line: string;
|
|
|
+ children: ShaderCodeNode[];
|
|
|
+ additionalDefineKey?: string;
|
|
|
+ additionalDefineValue?: string;
|
|
|
+ isValid(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }): boolean;
|
|
|
+ process(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }, options: ProcessingOptions): string;
|
|
|
+ private _lineStartsWith;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module BABYLON {
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderCodeCursor {
|
|
|
+ lines: string[];
|
|
|
+ lineIndex: number;
|
|
|
+ readonly currentLine: string;
|
|
|
+ readonly canRead: boolean;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module BABYLON {
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderCodeConditionNode extends ShaderCodeNode {
|
|
|
+ process(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }, options: ProcessingOptions): string;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module BABYLON {
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderDefineExpression {
|
|
|
+ isTrue(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }): boolean;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module BABYLON {
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderCodeTestNode extends ShaderCodeNode {
|
|
|
+ testExpression: ShaderDefineExpression;
|
|
|
+ isValid(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }): boolean;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module BABYLON {
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderDefineIsDefinedOperator extends ShaderDefineExpression {
|
|
|
+ define: string;
|
|
|
+ not: boolean;
|
|
|
+ constructor(define: string, not?: boolean);
|
|
|
+ isTrue(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }): boolean;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module BABYLON {
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderDefineOrOperator extends ShaderDefineExpression {
|
|
|
+ leftOperand: ShaderDefineExpression;
|
|
|
+ rightOperand: ShaderDefineExpression;
|
|
|
+ isTrue(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }): boolean;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module BABYLON {
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderDefineAndOperator extends ShaderDefineExpression {
|
|
|
+ leftOperand: ShaderDefineExpression;
|
|
|
+ rightOperand: ShaderDefineExpression;
|
|
|
+ isTrue(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }): boolean;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module BABYLON {
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderDefineArithmeticOperator extends ShaderDefineExpression {
|
|
|
+ define: string;
|
|
|
+ operand: string;
|
|
|
+ testValue: string;
|
|
|
+ constructor(define: string, operand: string, testValue: string);
|
|
|
+ isTrue(preprocessors: {
|
|
|
+ [key: string]: string;
|
|
|
+ }): boolean;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module BABYLON {
|
|
|
+ /** @hidden */
|
|
|
+ export class ShaderProcessor {
|
|
|
+ static Process(sourceCode: string, options: ProcessingOptions, callback: (migratedCode: string) => void): void;
|
|
|
+ private static _ProcessPrecision;
|
|
|
+ private static _ExtractOperation;
|
|
|
+ private static _BuildSubExpression;
|
|
|
+ private static _BuildExpression;
|
|
|
+ private static _MoveCursorWithinIf;
|
|
|
+ private static _MoveCursor;
|
|
|
+ private static _EvaluatePreProcessors;
|
|
|
+ private static _ProcessShaderConversion;
|
|
|
+ private static _ProcessIncludes;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module BABYLON {
|
|
|
/**
|
|
|
* Performance monitor tracks rolling average frame-time and frame-time variance over a user defined sliding-window
|
|
|
*/
|
|
@@ -68629,6 +68954,10 @@ declare module BABYLON {
|
|
|
/** @hidden */
|
|
|
_isRGBD: boolean;
|
|
|
/** @hidden */
|
|
|
+ _linearSpecularLOD: boolean;
|
|
|
+ /** @hidden */
|
|
|
+ _irradianceTexture: Nullable<BaseTexture>;
|
|
|
+ /** @hidden */
|
|
|
_webGLTexture: Nullable<WebGLTexture>;
|
|
|
/** @hidden */
|
|
|
_references: number;
|
|
@@ -70307,7 +70636,8 @@ declare module BABYLON {
|
|
|
* Flag the bone as dirty (Forcing it to update everything)
|
|
|
*/
|
|
|
markAsDirty(): void;
|
|
|
- private _markAsDirtyAndCompose;
|
|
|
+ /** @hidden */
|
|
|
+ _markAsDirtyAndCompose(): void;
|
|
|
private _markAsDirtyAndDecompose;
|
|
|
/**
|
|
|
* Translate the bone in local or world space
|
|
@@ -88296,6 +88626,18 @@ declare module BABYLON {
|
|
|
*/
|
|
|
lodGenerationScale: number;
|
|
|
/**
|
|
|
+ * With prefiltered texture, defined if the specular generation is based on a linear ramp.
|
|
|
+ * By default we are using a log2 of the linear roughness helping to keep a better resolution for
|
|
|
+ * average roughness values.
|
|
|
+ */
|
|
|
+ linearSpecularLOD: boolean;
|
|
|
+ /**
|
|
|
+ * In case a better definition than spherical harmonics is required for the diffuse part of the environment.
|
|
|
+ * You can set the irradiance texture to rely on a texture instead of the spherical approach.
|
|
|
+ * This texture need to have the same characteristics than its parent (Cube vs 2d, coordinates mode, Gamma/Linear, RGBD).
|
|
|
+ */
|
|
|
+ irradianceTexture: Nullable<BaseTexture>;
|
|
|
+ /**
|
|
|
* Define if the texture is a render target.
|
|
|
*/
|
|
|
isRenderTarget: boolean;
|
|
@@ -89097,6 +89439,14 @@ declare module BABYLON {
|
|
|
}
|
|
|
}
|
|
|
declare module BABYLON {
|
|
|
+ /** @hidden */
|
|
|
+ export class WebGL2ShaderProcessor implements IShaderProcessor {
|
|
|
+ attributeProcessor(attribute: string): string;
|
|
|
+ varyingProcessor(varying: string, isFragment: boolean): string;
|
|
|
+ postProcessor(code: string, defines: string[], isFragment: boolean): string;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module BABYLON {
|
|
|
/**
|
|
|
* Settings for finer control over video usage
|
|
|
*/
|
|
@@ -89432,9 +89782,7 @@ declare module BABYLON {
|
|
|
* @param predicate defines a predicate used to filter which materials should be affected
|
|
|
*/
|
|
|
static MarkAllMaterialsAsDirty(flag: number, predicate?: (mat: Material) => boolean): void;
|
|
|
- /**
|
|
|
- * Hidden
|
|
|
- */
|
|
|
+ /** @hidden */
|
|
|
static _TextureLoaders: IInternalTextureLoader[];
|
|
|
/** Defines that alpha blending is disabled */
|
|
|
static readonly ALPHA_DISABLE: number;
|
|
@@ -89655,6 +90003,8 @@ declare module BABYLON {
|
|
|
* Method called to create the default rescale post process on each engine.
|
|
|
*/
|
|
|
static _RescalePostProcessFactory: Nullable<(engine: Engine) => PostProcess>;
|
|
|
+ /** @hidden */
|
|
|
+ _shaderProcessor: IShaderProcessor;
|
|
|
/**
|
|
|
* Gets or sets a boolean that indicates if textures must be forced to power of 2 size even if not required
|
|
|
*/
|
|
@@ -91233,7 +91583,7 @@ declare module BABYLON {
|
|
|
*/
|
|
|
readonly isMoreFallbacks: boolean;
|
|
|
/**
|
|
|
- * Removes the defines that shoould be removed when falling back.
|
|
|
+ * Removes the defines that should be removed when falling back.
|
|
|
* @param currentDefines defines the current define statements for the shader.
|
|
|
* @param effect defines the current effect we try to compile
|
|
|
* @returns The resulting defines with defines of the current rank removed.
|
|
@@ -91458,9 +91808,6 @@ declare module BABYLON {
|
|
|
_loadFragmentShader(fragment: any, callback: (data: any) => void): void;
|
|
|
/** @hidden */
|
|
|
_dumpShadersSource(vertexCode: string, fragmentCode: string, defines: string): void;
|
|
|
- private _processShaderConversion;
|
|
|
- private _processIncludes;
|
|
|
- private _processPrecision;
|
|
|
/**
|
|
|
* Recompiles the webGL program
|
|
|
* @param vertexSourceCode The source code for the vertex shader.
|
|
@@ -106929,6 +107276,7 @@ declare module BABYLON {
|
|
|
SS_LODINREFRACTIONALPHA: boolean;
|
|
|
SS_GAMMAREFRACTION: boolean;
|
|
|
SS_RGBDREFRACTION: boolean;
|
|
|
+ SS_LINEARSPECULARREFRACTION: boolean;
|
|
|
SS_LINKREFRACTIONTOTRANSPARENCY: boolean;
|
|
|
SS_MASK_FROM_THICKNESS_TEXTURE: boolean;
|
|
|
/** @hidden */
|
|
@@ -107334,12 +107682,14 @@ declare module BABYLON {
|
|
|
REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED: boolean;
|
|
|
INVERTCUBICMAP: boolean;
|
|
|
USESPHERICALFROMREFLECTIONMAP: boolean;
|
|
|
+ USEIRRADIANCEMAP: boolean;
|
|
|
SPHERICAL_HARMONICS: boolean;
|
|
|
USESPHERICALINVERTEX: boolean;
|
|
|
REFLECTIONMAP_OPPOSITEZ: boolean;
|
|
|
LODINREFLECTIONALPHA: boolean;
|
|
|
GAMMAREFLECTION: boolean;
|
|
|
RGBDREFLECTION: boolean;
|
|
|
+ LINEARSPECULARREFLECTION: boolean;
|
|
|
RADIANCEOCCLUSION: boolean;
|
|
|
HORIZONOCCLUSION: boolean;
|
|
|
INSTANCES: boolean;
|
|
@@ -107408,6 +107758,7 @@ declare module BABYLON {
|
|
|
SS_LODINREFRACTIONALPHA: boolean;
|
|
|
SS_GAMMAREFRACTION: boolean;
|
|
|
SS_RGBDREFRACTION: boolean;
|
|
|
+ SS_LINEARSPECULARREFRACTION: boolean;
|
|
|
SS_LINKREFRACTIONTOTRANSPARENCY: boolean;
|
|
|
SS_MASK_FROM_THICKNESS_TEXTURE: boolean;
|
|
|
UNLIT: boolean;
|