babylonjs-materials
Version:
Babylon.js Materials Library =====================
1,372 lines (1,336 loc) • 134 kB
TypeScript
declare module "babylonjs-materials/cell/cell.fragment" {
import "babylonjs/Shaders/ShadersInclude/helperFunctions";
import "babylonjs/Shaders/ShadersInclude/lightFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightUboDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightsFragmentFunctions";
import "babylonjs/Shaders/ShadersInclude/shadowsFragmentFunctions";
import "babylonjs/Shaders/ShadersInclude/clipPlaneFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneFragment";
import "babylonjs/Shaders/ShadersInclude/depthPrePass";
import "babylonjs/Shaders/ShadersInclude/lightFragment";
import "babylonjs/Shaders/ShadersInclude/logDepthFragment";
import "babylonjs/Shaders/ShadersInclude/fogFragment";
import "babylonjs/Shaders/ShadersInclude/imageProcessingCompatibility";
/** @internal */
export const cellPixelShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/cell/cell.vertex" {
import "babylonjs/Shaders/ShadersInclude/bonesDeclaration";
import "babylonjs/Shaders/ShadersInclude/bakedVertexAnimationDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightUboDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesVertex";
import "babylonjs/Shaders/ShadersInclude/bonesVertex";
import "babylonjs/Shaders/ShadersInclude/bakedVertexAnimation";
import "babylonjs/Shaders/ShadersInclude/clipPlaneVertex";
import "babylonjs/Shaders/ShadersInclude/fogVertex";
import "babylonjs/Shaders/ShadersInclude/shadowsVertex";
import "babylonjs/Shaders/ShadersInclude/vertexColorMixing";
import "babylonjs/Shaders/ShadersInclude/logDepthVertex";
/** @internal */
export const cellVertexShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/cell/cellMaterial" {
import { Nullable } from "babylonjs/types";
import { Matrix } from "babylonjs/Maths/math.vector";
import { Color3 } from "babylonjs/Maths/math.color";
import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
import { PushMaterial } from "babylonjs/Materials/pushMaterial";
import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
import { SubMesh } from "babylonjs/Meshes/subMesh";
import { Mesh } from "babylonjs/Meshes/mesh";
import { Scene } from "babylonjs/scene";
import { IAnimatable } from "babylonjs/Animations/animatable.interface";
import "babylonjs-materials/cell/cell.fragment";
import "babylonjs-materials/cell/cell.vertex";
export class CellMaterial extends PushMaterial {
private _diffuseTexture;
diffuseTexture: BaseTexture;
diffuseColor: Color3;
_computeHighLevel: boolean;
computeHighLevel: boolean;
private _disableLighting;
disableLighting: boolean;
private _maxSimultaneousLights;
maxSimultaneousLights: number;
constructor(name: string, scene?: Scene);
needAlphaBlending(): boolean;
needAlphaTesting(): boolean;
getAlphaTestTexture(): Nullable<BaseTexture>;
isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
getAnimatables(): IAnimatable[];
getActiveTextures(): BaseTexture[];
hasTexture(texture: BaseTexture): boolean;
dispose(forceDisposeEffect?: boolean): void;
getClassName(): string;
clone(name: string): CellMaterial;
serialize(): any;
static Parse(source: any, scene: Scene, rootUrl: string): CellMaterial;
}
}
declare module "babylonjs-materials/cell/index" {
export * from "babylonjs-materials/cell/cellMaterial";
}
declare module "babylonjs-materials/custom/customMaterial" {
import { Texture } from "babylonjs/Materials/Textures/texture";
import { Effect } from "babylonjs/Materials/effect";
import { MaterialDefines } from "babylonjs/Materials/materialDefines";
import { StandardMaterial } from "babylonjs/Materials/standardMaterial";
import { Mesh } from "babylonjs/Meshes/mesh";
import { Scene } from "babylonjs/scene";
import { Nullable } from "babylonjs/types";
import { SubMesh } from "babylonjs/Meshes/subMesh";
/**
* Structure of a custom shader
*/
export class CustomShaderStructure {
/**
* Fragment store
*/
FragmentStore: string;
/**
* Vertex store
*/
VertexStore: string;
constructor();
}
/**
* Parts of a shader
*/
export class ShaderSpecialParts {
constructor();
/**
* Beginning of the fragment shader
*/
Fragment_Begin: string;
/**
* Variable definitions of the fragment shader
*/
Fragment_Definitions: string;
/**
* Beginning of the fragment main function
*/
Fragment_MainBegin: string;
/**
* End of the fragment main function
*/
Fragment_MainEnd: string;
/**
* Diffuse color calculation
*/
Fragment_Custom_Diffuse: string;
/**
* Before lightning computations
*/
Fragment_Before_Lights: string;
/**
* Before fog computations
*/
Fragment_Before_Fog: string;
/**
* Alpha calculations
*/
Fragment_Custom_Alpha: string;
/**
* Before frag color is assigned
*/
Fragment_Before_FragColor: string;
/**
* Beginning of the vertex shader
*/
Vertex_Begin: string;
/**
* Variable definitions of the vertex shader
*/
Vertex_Definitions: string;
/**
* Start of the main function of the vertex shader
*/
Vertex_MainBegin: string;
/**
* Before the world position computation
*/
Vertex_Before_PositionUpdated: string;
/**
* Before the normal computation
*/
Vertex_Before_NormalUpdated: string;
/**
* After the world position has been computed
*/
Vertex_After_WorldPosComputed: string;
/**
* Main end of the vertex shader
*/
Vertex_MainEnd: string;
}
/**
* Customized material
*/
export class CustomMaterial extends StandardMaterial {
/**
* Index for each created shader
*/
static ShaderIndexer: number;
/**
* Custom shader structure
*/
CustomParts: ShaderSpecialParts;
/**
* Name of the shader
*/
_createdShaderName: string;
/**
* List of custom uniforms
*/
_customUniform: string[];
/**
* Names of the new uniforms
*/
_newUniforms: string[];
/**
* Instances of the new uniform objects
*/
_newUniformInstances: {
[name: string]: any;
};
/**
* Instances of the new sampler objects
*/
_newSamplerInstances: {
[name: string]: Texture;
};
/**
* List of the custom attributes
*/
_customAttributes: string[];
/**
* Fragment shader string
*/
FragmentShader: string;
/**
* Vertex shader string
*/
VertexShader: string;
/**
* Runs after the material is bound to a mesh
* @param mesh mesh bound
* @param effect bound effect used to render
*/
AttachAfterBind(mesh: Mesh | undefined, effect: Effect): void;
/**
* @internal
*/
ReviewUniform(name: string, arr: string[]): string[];
/**
* Builds the material
* @param shaderName name of the shader
* @param uniforms list of uniforms
* @param uniformBuffers list of uniform buffers
* @param samplers list of samplers
* @param defines list of defines
* @param attributes list of attributes
* @returns the shader name
*/
Builder(shaderName: string, uniforms: string[], uniformBuffers: string[], samplers: string[], defines: MaterialDefines | string[], attributes?: string[]): string;
protected _injectCustomCode(code: string, shaderType: string): string;
protected _getCustomCode(shaderType: string): {
[pointName: string]: string;
};
constructor(name: string, scene?: Scene);
protected _afterBind(mesh?: Mesh, effect?: Nullable<Effect>, subMesh?: SubMesh): void;
/**
* Adds a new uniform to the shader
* @param name the name of the uniform to add
* @param kind the type of the uniform to add
* @param param the value of the uniform to add
* @returns the current material
*/
AddUniform(name: string, kind: string, param: any): CustomMaterial;
/**
* Adds a custom attribute
* @param name the name of the attribute
* @returns the current material
*/
AddAttribute(name: string): CustomMaterial;
/**
* Sets the code on Fragment_Begin portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Begin(shaderPart: string): CustomMaterial;
/**
* Sets the code on Fragment_Definitions portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Definitions(shaderPart: string): CustomMaterial;
/**
* Sets the code on Fragment_MainBegin portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_MainBegin(shaderPart: string): CustomMaterial;
/**
* Sets the code on Fragment_MainEnd portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_MainEnd(shaderPart: string): CustomMaterial;
/**
* Sets the code on Fragment_Custom_Diffuse portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Custom_Diffuse(shaderPart: string): CustomMaterial;
/**
* Sets the code on Fragment_Custom_Alpha portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Custom_Alpha(shaderPart: string): CustomMaterial;
/**
* Sets the code on Fragment_Before_Lights portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Before_Lights(shaderPart: string): CustomMaterial;
/**
* Sets the code on Fragment_Before_Fog portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Before_Fog(shaderPart: string): CustomMaterial;
/**
* Sets the code on Fragment_Before_FragColor portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Before_FragColor(shaderPart: string): CustomMaterial;
/**
* Sets the code on Vertex_Begin portion
* @param shaderPart the code string
* @returns the current material
*/
Vertex_Begin(shaderPart: string): CustomMaterial;
/**
* Sets the code on Vertex_Definitions portion
* @param shaderPart the code string
* @returns the current material
*/
Vertex_Definitions(shaderPart: string): CustomMaterial;
/**
* Sets the code on Vertex_MainBegin portion
* @param shaderPart the code string
* @returns the current material
*/
Vertex_MainBegin(shaderPart: string): CustomMaterial;
/**
* Sets the code on Vertex_Before_PositionUpdated portion
* @param shaderPart the code string
* @returns the current material
*/
Vertex_Before_PositionUpdated(shaderPart: string): CustomMaterial;
/**
* Sets the code on Vertex_Before_NormalUpdated portion
* @param shaderPart the code string
* @returns the current material
*/
Vertex_Before_NormalUpdated(shaderPart: string): CustomMaterial;
/**
* Sets the code on Vertex_After_WorldPosComputed portion
* @param shaderPart the code string
* @returns the current material
*/
Vertex_After_WorldPosComputed(shaderPart: string): CustomMaterial;
/**
* Sets the code on Vertex_MainEnd portion
* @param shaderPart the code string
* @returns the current material
*/
Vertex_MainEnd(shaderPart: string): CustomMaterial;
}
}
declare module "babylonjs-materials/custom/index" {
export * from "babylonjs-materials/custom/customMaterial";
export * from "babylonjs-materials/custom/pbrCustomMaterial";
}
declare module "babylonjs-materials/custom/pbrCustomMaterial" {
import { Texture } from "babylonjs/Materials/Textures/texture";
import { Effect } from "babylonjs/Materials/effect";
import { MaterialDefines } from "babylonjs/Materials/materialDefines";
import { PBRMaterial } from "babylonjs/Materials/PBR/pbrMaterial";
import { Mesh } from "babylonjs/Meshes/mesh";
import { Scene } from "babylonjs/scene";
import { ICustomShaderNameResolveOptions } from "babylonjs/Materials/material";
import { Nullable } from "babylonjs/types";
import { SubMesh } from "babylonjs/Meshes/subMesh";
/**
* Albedo parts of the shader
*/
export class ShaderAlbedoParts {
constructor();
/**
* Beginning of the fragment shader
*/
Fragment_Begin: string;
/**
* Fragment definitions
*/
Fragment_Definitions: string;
/**
* Beginning of the main function
*/
Fragment_MainBegin: string;
/**
* End of main function
*/
Fragment_MainEnd: string;
/**
* Albedo color
*/
Fragment_Custom_Albedo: string;
/**
* Lights
*/
Fragment_Before_Lights: string;
/**
* Metallic and roughness
*/
Fragment_Custom_MetallicRoughness: string;
/**
* Microsurface
*/
Fragment_Custom_MicroSurface: string;
/**
* Fog computations
*/
Fragment_Before_Fog: string;
/**
* Alpha
*/
Fragment_Custom_Alpha: string;
/**
* Color composition
*/
Fragment_Before_FinalColorComposition: string;
/**
* Fragment color
*/
Fragment_Before_FragColor: string;
/**
* Beginning of vertex shader
*/
Vertex_Begin: string;
/**
* Vertex definitions
*/
Vertex_Definitions: string;
/**
* Vertex main begin
*/
Vertex_MainBegin: string;
/**
* Vertex before position updated
*/
Vertex_Before_PositionUpdated: string;
/**
* Vertex before normal updated
*/
Vertex_Before_NormalUpdated: string;
/**
* Vertex after world pos computed
*/
Vertex_After_WorldPosComputed: string;
/**
* Vertex main end
*/
Vertex_MainEnd: string;
}
/**
* @deprecated use ShaderAlbedoParts instead.
*/
export const ShaderAlebdoParts: typeof ShaderAlbedoParts;
export class PBRCustomMaterial extends PBRMaterial {
/**
* Index for each created shader
*/
static ShaderIndexer: number;
/**
* Custom shader structure
*/
CustomParts: ShaderAlbedoParts;
/**
* Name of the shader
*/
_createdShaderName: string;
/**
* List of custom uniforms
*/
_customUniform: string[];
/**
* Names of the new uniforms
*/
_newUniforms: string[];
/**
* Instances of the new uniform objects
*/
_newUniformInstances: {
[name: string]: any;
};
/**
* Instances of the new sampler objects
*/
_newSamplerInstances: {
[name: string]: Texture;
};
/**
* List of the custom attributes
*/
_customAttributes: string[];
/**
* Fragment shader string
*/
FragmentShader: string;
/**
* Vertex shader string
*/
VertexShader: string;
/**
* Runs after the material is bound to a mesh
* @param mesh mesh bound
* @param effect bound effect used to render
*/
AttachAfterBind(mesh: Mesh | undefined, effect: Effect): void;
/**
* @internal
*/
ReviewUniform(name: string, arr: string[]): string[];
/**
* Builds the material
* @param shaderName name of the shader
* @param uniforms list of uniforms
* @param uniformBuffers list of uniform buffers
* @param samplers list of samplers
* @param defines list of defines
* @param attributes list of attributes
* @param options options to compile the shader
* @returns the shader name
*/
Builder(shaderName: string, uniforms: string[], uniformBuffers: string[], samplers: string[], defines: MaterialDefines | string[], attributes?: string[], options?: ICustomShaderNameResolveOptions): string;
protected _injectCustomCode(code: string, shaderType: string): string;
protected _getCustomCode(shaderType: string): {
[pointName: string]: string;
};
constructor(name: string, scene?: Scene);
protected _afterBind(mesh?: Mesh, effect?: Nullable<Effect>, subMesh?: SubMesh): void;
/**
* Adds a new uniform to the shader
* @param name the name of the uniform to add
* @param kind the type of the uniform to add
* @param param the value of the uniform to add
* @returns the current material
*/
AddUniform(name: string, kind: string, param: any): PBRCustomMaterial;
/**
* Adds a custom attribute
* @param name the name of the attribute
* @returns the current material
*/
AddAttribute(name: string): PBRCustomMaterial;
/**
* Sets the code on Fragment_Begin portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Begin(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Fragment_Definitions portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Definitions(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Fragment_MainBegin portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_MainBegin(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Fragment_Custom_Albedo portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Custom_Albedo(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Fragment_Custom_Alpha portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Custom_Alpha(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Fragment_Before_Lights portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Before_Lights(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Fragment_Custom_MetallicRoughness portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Custom_MetallicRoughness(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Fragment_Custom_MicroSurface portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Custom_MicroSurface(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Fragment_Before_Fog portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Before_Fog(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Fragment_Before_FinalColorComposition portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Before_FinalColorComposition(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Fragment_Before_FragColor portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_Before_FragColor(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Fragment_MainEnd portion
* @param shaderPart the code string
* @returns the current material
*/
Fragment_MainEnd(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Vertex_Begin portion
* @param shaderPart the code string
* @returns the current material
*/
Vertex_Begin(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Vertex_Definitions portion
* @param shaderPart the code string
* @returns the current material
*/
Vertex_Definitions(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Vertex_MainBegin portion
* @param shaderPart the code string
* @returns the current material
*/
Vertex_MainBegin(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Vertex_Before_PositionUpdated portion
* @param shaderPart the code string
* @returns the current material
*/
Vertex_Before_PositionUpdated(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Vertex_Before_NormalUpdated portion
* @param shaderPart the code string
* @returns the current material
*/
Vertex_Before_NormalUpdated(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Vertex_After_WorldPosComputed portion
* @param shaderPart the code string
* @returns the current material
*/
Vertex_After_WorldPosComputed(shaderPart: string): PBRCustomMaterial;
/**
* Sets the code on Vertex_MainEnd portion
* @param shaderPart the code string
* @returns the current material
*/
Vertex_MainEnd(shaderPart: string): PBRCustomMaterial;
}
}
declare module "babylonjs-materials/fire/fire.fragment" {
import "babylonjs/Shaders/ShadersInclude/clipPlaneFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneFragment";
import "babylonjs/Shaders/ShadersInclude/depthPrePass";
import "babylonjs/Shaders/ShadersInclude/logDepthFragment";
import "babylonjs/Shaders/ShadersInclude/fogFragment";
import "babylonjs/Shaders/ShadersInclude/imageProcessingCompatibility";
/** @internal */
export const firePixelShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/fire/fire.vertex" {
import "babylonjs/Shaders/ShadersInclude/bonesDeclaration";
import "babylonjs/Shaders/ShadersInclude/bakedVertexAnimationDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesVertex";
import "babylonjs/Shaders/ShadersInclude/bonesVertex";
import "babylonjs/Shaders/ShadersInclude/bakedVertexAnimation";
import "babylonjs/Shaders/ShadersInclude/clipPlaneVertex";
import "babylonjs/Shaders/ShadersInclude/logDepthVertex";
import "babylonjs/Shaders/ShadersInclude/fogVertex";
import "babylonjs/Shaders/ShadersInclude/vertexColorMixing";
/** @internal */
export const fireVertexShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/fire/fireMaterial" {
import { Nullable } from "babylonjs/types";
import { Matrix } from "babylonjs/Maths/math.vector";
import { Color3 } from "babylonjs/Maths/math.color";
import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
import { PushMaterial } from "babylonjs/Materials/pushMaterial";
import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
import { SubMesh } from "babylonjs/Meshes/subMesh";
import { Mesh } from "babylonjs/Meshes/mesh";
import { Scene } from "babylonjs/scene";
import { IAnimatable } from "babylonjs/Animations/animatable.interface";
import "babylonjs-materials/fire/fire.fragment";
import "babylonjs-materials/fire/fire.vertex";
export class FireMaterial extends PushMaterial {
private _diffuseTexture;
diffuseTexture: Nullable<BaseTexture>;
private _distortionTexture;
distortionTexture: Nullable<BaseTexture>;
private _opacityTexture;
opacityTexture: Nullable<BaseTexture>;
diffuseColor: Color3;
speed: number;
private _scaledDiffuse;
private _lastTime;
constructor(name: string, scene?: Scene);
needAlphaBlending(): boolean;
needAlphaTesting(): boolean;
getAlphaTestTexture(): Nullable<BaseTexture>;
isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
getAnimatables(): IAnimatable[];
getActiveTextures(): BaseTexture[];
hasTexture(texture: BaseTexture): boolean;
getClassName(): string;
dispose(forceDisposeEffect?: boolean): void;
clone(name: string): FireMaterial;
serialize(): any;
static Parse(source: any, scene: Scene, rootUrl: string): FireMaterial;
}
}
declare module "babylonjs-materials/fire/index" {
export * from "babylonjs-materials/fire/fireMaterial";
}
declare module "babylonjs-materials/fur/fur.fragment" {
import "babylonjs/Shaders/ShadersInclude/helperFunctions";
import "babylonjs/Shaders/ShadersInclude/lightFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightUboDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightsFragmentFunctions";
import "babylonjs/Shaders/ShadersInclude/shadowsFragmentFunctions";
import "babylonjs/Shaders/ShadersInclude/fogFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneFragment";
import "babylonjs/Shaders/ShadersInclude/depthPrePass";
import "babylonjs/Shaders/ShadersInclude/lightFragment";
import "babylonjs/Shaders/ShadersInclude/logDepthFragment";
import "babylonjs/Shaders/ShadersInclude/fogFragment";
import "babylonjs/Shaders/ShadersInclude/imageProcessingCompatibility";
/** @internal */
export const furPixelShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/fur/fur.vertex" {
import "babylonjs/Shaders/ShadersInclude/bonesDeclaration";
import "babylonjs/Shaders/ShadersInclude/bakedVertexAnimationDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightUboDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesVertex";
import "babylonjs/Shaders/ShadersInclude/bonesVertex";
import "babylonjs/Shaders/ShadersInclude/bakedVertexAnimation";
import "babylonjs/Shaders/ShadersInclude/clipPlaneVertex";
import "babylonjs/Shaders/ShadersInclude/logDepthVertex";
import "babylonjs/Shaders/ShadersInclude/fogVertex";
import "babylonjs/Shaders/ShadersInclude/shadowsVertex";
import "babylonjs/Shaders/ShadersInclude/vertexColorMixing";
/** @internal */
export const furVertexShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/fur/furMaterial" {
import { Nullable } from "babylonjs/types";
import { Matrix } from "babylonjs/Maths/math.vector";
import { Vector3 } from "babylonjs/Maths/math.vector";
import { Color3 } from "babylonjs/Maths/math.color";
import { IAnimatable } from "babylonjs/Animations/animatable.interface";
import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
import { DynamicTexture } from "babylonjs/Materials/Textures/dynamicTexture";
import { PushMaterial } from "babylonjs/Materials/pushMaterial";
import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
import { SubMesh } from "babylonjs/Meshes/subMesh";
import { Mesh } from "babylonjs/Meshes/mesh";
import { Scene } from "babylonjs/scene";
import "babylonjs-materials/fur/fur.fragment";
import "babylonjs-materials/fur/fur.vertex";
export class FurMaterial extends PushMaterial {
private _diffuseTexture;
diffuseTexture: BaseTexture;
private _heightTexture;
heightTexture: BaseTexture;
diffuseColor: Color3;
furLength: number;
furAngle: number;
furColor: Color3;
furOffset: number;
furSpacing: number;
furGravity: Vector3;
furSpeed: number;
furDensity: number;
furOcclusion: number;
furTexture: DynamicTexture;
private _disableLighting;
disableLighting: boolean;
private _maxSimultaneousLights;
maxSimultaneousLights: number;
highLevelFur: boolean;
_meshes: AbstractMesh[];
private _furTime;
constructor(name: string, scene?: Scene);
get furTime(): number;
set furTime(furTime: number);
needAlphaBlending(): boolean;
needAlphaTesting(): boolean;
getAlphaTestTexture(): Nullable<BaseTexture>;
updateFur(): void;
isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
getAnimatables(): IAnimatable[];
getActiveTextures(): BaseTexture[];
hasTexture(texture: BaseTexture): boolean;
dispose(forceDisposeEffect?: boolean): void;
clone(name: string): FurMaterial;
serialize(): any;
getClassName(): string;
static Parse(source: any, scene: Scene, rootUrl: string): FurMaterial;
static GenerateTexture(name: string, scene: Scene): DynamicTexture;
static FurifyMesh(sourceMesh: Mesh, quality: number): Mesh[];
}
}
declare module "babylonjs-materials/fur/index" {
export * from "babylonjs-materials/fur/furMaterial";
}
declare module "babylonjs-materials/gradient/gradient.fragment" {
import "babylonjs/Shaders/ShadersInclude/helperFunctions";
import "babylonjs/Shaders/ShadersInclude/lightFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightUboDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightsFragmentFunctions";
import "babylonjs/Shaders/ShadersInclude/shadowsFragmentFunctions";
import "babylonjs/Shaders/ShadersInclude/clipPlaneFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneFragment";
import "babylonjs/Shaders/ShadersInclude/depthPrePass";
import "babylonjs/Shaders/ShadersInclude/lightFragment";
import "babylonjs/Shaders/ShadersInclude/logDepthFragment";
import "babylonjs/Shaders/ShadersInclude/fogFragment";
import "babylonjs/Shaders/ShadersInclude/imageProcessingCompatibility";
/** @internal */
export const gradientPixelShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/gradient/gradient.vertex" {
import "babylonjs/Shaders/ShadersInclude/bonesDeclaration";
import "babylonjs/Shaders/ShadersInclude/bakedVertexAnimationDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightUboDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesVertex";
import "babylonjs/Shaders/ShadersInclude/bonesVertex";
import "babylonjs/Shaders/ShadersInclude/bakedVertexAnimation";
import "babylonjs/Shaders/ShadersInclude/clipPlaneVertex";
import "babylonjs/Shaders/ShadersInclude/logDepthVertex";
import "babylonjs/Shaders/ShadersInclude/fogVertex";
import "babylonjs/Shaders/ShadersInclude/shadowsVertex";
import "babylonjs/Shaders/ShadersInclude/vertexColorMixing";
/** @internal */
export const gradientVertexShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/gradient/gradientMaterial" {
import { Nullable } from "babylonjs/types";
import { Matrix } from "babylonjs/Maths/math.vector";
import { Color3 } from "babylonjs/Maths/math.color";
import { IAnimatable } from "babylonjs/Animations/animatable.interface";
import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
import { PushMaterial } from "babylonjs/Materials/pushMaterial";
import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
import { SubMesh } from "babylonjs/Meshes/subMesh";
import { Mesh } from "babylonjs/Meshes/mesh";
import { Scene } from "babylonjs/scene";
import "babylonjs-materials/gradient/gradient.fragment";
import "babylonjs-materials/gradient/gradient.vertex";
export class GradientMaterial extends PushMaterial {
private _maxSimultaneousLights;
maxSimultaneousLights: number;
topColor: Color3;
topColorAlpha: number;
bottomColor: Color3;
bottomColorAlpha: number;
offset: number;
scale: number;
smoothness: number;
private _disableLighting;
disableLighting: boolean;
constructor(name: string, scene?: Scene);
needAlphaBlending(): boolean;
needAlphaTesting(): boolean;
getAlphaTestTexture(): Nullable<BaseTexture>;
isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
getAnimatables(): IAnimatable[];
dispose(forceDisposeEffect?: boolean): void;
clone(name: string): GradientMaterial;
serialize(): any;
getClassName(): string;
static Parse(source: any, scene: Scene, rootUrl: string): GradientMaterial;
}
}
declare module "babylonjs-materials/gradient/index" {
export * from "babylonjs-materials/gradient/gradientMaterial";
}
declare module "babylonjs-materials/grid/grid.fragment" {
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogFragment";
import "babylonjs/Shaders/ShadersInclude/logDepthFragment";
import "babylonjs/Shaders/ShadersInclude/imageProcessingCompatibility";
/** @internal */
export const gridPixelShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/grid/grid.vertex" {
import "babylonjs/Shaders/ShadersInclude/instancesDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesVertex";
import "babylonjs/Shaders/ShadersInclude/fogVertex";
import "babylonjs/Shaders/ShadersInclude/logDepthVertex";
/** @internal */
export const gridVertexShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/grid/gridMaterial" {
import { Matrix } from "babylonjs/Maths/math.vector";
import { Vector3 } from "babylonjs/Maths/math.vector";
import { Color3 } from "babylonjs/Maths/math.color";
import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
import { PushMaterial } from "babylonjs/Materials/pushMaterial";
import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
import { SubMesh } from "babylonjs/Meshes/subMesh";
import { Mesh } from "babylonjs/Meshes/mesh";
import { Scene } from "babylonjs/scene";
import "babylonjs-materials/grid/grid.fragment";
import "babylonjs-materials/grid/grid.vertex";
/**
* The grid materials allows you to wrap any shape with a grid.
* Colors are customizable.
*/
export class GridMaterial extends PushMaterial {
/**
* Main color of the grid (e.g. between lines)
*/
mainColor: Color3;
/**
* Color of the grid lines.
*/
lineColor: Color3;
/**
* The scale of the grid compared to unit.
*/
gridRatio: number;
/**
* Allows setting an offset for the grid lines.
*/
gridOffset: Vector3;
/**
* The frequency of thicker lines.
*/
majorUnitFrequency: number;
/**
* The visibility of minor units in the grid.
*/
minorUnitVisibility: number;
/**
* The grid opacity outside of the lines.
*/
opacity: number;
/**
* Whether to antialias the grid
*/
antialias: boolean;
/**
* Determine RBG output is premultiplied by alpha value.
*/
preMultiplyAlpha: boolean;
/**
* Determines if the max line value will be used instead of the sum wherever grid lines intersect.
*/
useMaxLine: boolean;
private _opacityTexture;
/**
* Texture to define opacity of the grid
*/
opacityTexture: BaseTexture;
private _gridControl;
/**
* constructor
* @param name The name given to the material in order to identify it afterwards.
* @param scene The scene the material is used in.
*/
constructor(name: string, scene?: Scene);
/**
* @returns whether or not the grid requires alpha blending.
*/
needAlphaBlending(): boolean;
needAlphaBlendingForMesh(mesh: AbstractMesh): boolean;
isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
/**
* Dispose the material and its associated resources.
* @param forceDisposeEffect will also dispose the used effect when true
*/
dispose(forceDisposeEffect?: boolean): void;
clone(name: string): GridMaterial;
serialize(): any;
getClassName(): string;
static Parse(source: any, scene: Scene, rootUrl: string): GridMaterial;
}
}
declare module "babylonjs-materials/grid/index" {
export * from "babylonjs-materials/grid/gridMaterial";
}
declare module "babylonjs-materials/index" {
export * from "babylonjs-materials/cell/index";
export * from "babylonjs-materials/custom/index";
export * from "babylonjs-materials/fire/index";
export * from "babylonjs-materials/fur/index";
export * from "babylonjs-materials/gradient/index";
export * from "babylonjs-materials/grid/index";
export * from "babylonjs-materials/lava/index";
export * from "babylonjs-materials/mix/index";
export * from "babylonjs-materials/normal/index";
export * from "babylonjs-materials/shadowOnly/index";
export * from "babylonjs-materials/simple/index";
export * from "babylonjs-materials/sky/index";
export * from "babylonjs-materials/terrain/index";
export * from "babylonjs-materials/triPlanar/index";
export * from "babylonjs-materials/water/index";
}
declare module "babylonjs-materials/lava/index" {
export * from "babylonjs-materials/lava/lavaMaterial";
}
declare module "babylonjs-materials/lava/lava.fragment" {
import "babylonjs/Shaders/ShadersInclude/helperFunctions";
import "babylonjs/Shaders/ShadersInclude/lightFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightUboDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightsFragmentFunctions";
import "babylonjs/Shaders/ShadersInclude/shadowsFragmentFunctions";
import "babylonjs/Shaders/ShadersInclude/clipPlaneFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneFragment";
import "babylonjs/Shaders/ShadersInclude/depthPrePass";
import "babylonjs/Shaders/ShadersInclude/lightFragment";
import "babylonjs/Shaders/ShadersInclude/logDepthFragment";
import "babylonjs/Shaders/ShadersInclude/fogFragment";
import "babylonjs/Shaders/ShadersInclude/imageProcessingCompatibility";
/** @internal */
export const lavaPixelShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/lava/lava.vertex" {
import "babylonjs/Shaders/ShadersInclude/bonesDeclaration";
import "babylonjs/Shaders/ShadersInclude/bakedVertexAnimationDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightUboDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesVertex";
import "babylonjs/Shaders/ShadersInclude/bonesVertex";
import "babylonjs/Shaders/ShadersInclude/bakedVertexAnimation";
import "babylonjs/Shaders/ShadersInclude/clipPlaneVertex";
import "babylonjs/Shaders/ShadersInclude/fogVertex";
import "babylonjs/Shaders/ShadersInclude/shadowsVertex";
import "babylonjs/Shaders/ShadersInclude/vertexColorMixing";
import "babylonjs/Shaders/ShadersInclude/logDepthVertex";
/** @internal */
export const lavaVertexShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/lava/lavaMaterial" {
import { Nullable } from "babylonjs/types";
import { Matrix } from "babylonjs/Maths/math.vector";
import { Color3 } from "babylonjs/Maths/math.color";
import { IAnimatable } from "babylonjs/Animations/animatable.interface";
import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
import { PushMaterial } from "babylonjs/Materials/pushMaterial";
import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
import { SubMesh } from "babylonjs/Meshes/subMesh";
import { Mesh } from "babylonjs/Meshes/mesh";
import { Scene } from "babylonjs/scene";
import "babylonjs-materials/lava/lava.fragment";
import "babylonjs-materials/lava/lava.vertex";
export class LavaMaterial extends PushMaterial {
private _diffuseTexture;
diffuseTexture: BaseTexture;
noiseTexture: BaseTexture;
fogColor: Color3;
speed: number;
movingSpeed: number;
lowFrequencySpeed: number;
fogDensity: number;
private _lastTime;
diffuseColor: Color3;
private _disableLighting;
disableLighting: boolean;
private _unlit;
unlit: boolean;
private _maxSimultaneousLights;
maxSimultaneousLights: number;
private _scaledDiffuse;
constructor(name: string, scene?: Scene);
needAlphaBlending(): boolean;
needAlphaTesting(): boolean;
getAlphaTestTexture(): Nullable<BaseTexture>;
isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
getAnimatables(): IAnimatable[];
getActiveTextures(): BaseTexture[];
hasTexture(texture: BaseTexture): boolean;
dispose(forceDisposeEffect?: boolean): void;
clone(name: string): LavaMaterial;
serialize(): any;
getClassName(): string;
static Parse(source: any, scene: Scene, rootUrl: string): LavaMaterial;
}
}
declare module "babylonjs-materials/mix/index" {
export * from "babylonjs-materials/mix/mixMaterial";
}
declare module "babylonjs-materials/mix/mix.fragment" {
import "babylonjs/Shaders/ShadersInclude/helperFunctions";
import "babylonjs/Shaders/ShadersInclude/lightFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightUboDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightsFragmentFunctions";
import "babylonjs/Shaders/ShadersInclude/shadowsFragmentFunctions";
import "babylonjs/Shaders/ShadersInclude/clipPlaneFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneFragment";
import "babylonjs/Shaders/ShadersInclude/depthPrePass";
import "babylonjs/Shaders/ShadersInclude/lightFragment";
import "babylonjs/Shaders/ShadersInclude/logDepthFragment";
import "babylonjs/Shaders/ShadersInclude/fogFragment";
import "babylonjs/Shaders/ShadersInclude/imageProcessingCompatibility";
/** @internal */
export const mixPixelShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/mix/mix.vertex" {
import "babylonjs/Shaders/ShadersInclude/bonesDeclaration";
import "babylonjs/Shaders/ShadersInclude/bakedVertexAnimationDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightUboDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesVertex";
import "babylonjs/Shaders/ShadersInclude/bonesVertex";
import "babylonjs/Shaders/ShadersInclude/bakedVertexAnimation";
import "babylonjs/Shaders/ShadersInclude/clipPlaneVertex";
import "babylonjs/Shaders/ShadersInclude/fogVertex";
import "babylonjs/Shaders/ShadersInclude/shadowsVertex";
import "babylonjs/Shaders/ShadersInclude/vertexColorMixing";
import "babylonjs/Shaders/ShadersInclude/logDepthVertex";
/** @internal */
export const mixVertexShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/mix/mixMaterial" {
import { Nullable } from "babylonjs/types";
import { Matrix } from "babylonjs/Maths/math.vector";
import { Color3 } from "babylonjs/Maths/math.color";
import { IAnimatable } from "babylonjs/Animations/animatable.interface";
import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
import { Texture } from "babylonjs/Materials/Textures/texture";
import { PushMaterial } from "babylonjs/Materials/pushMaterial";
import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
import { SubMesh } from "babylonjs/Meshes/subMesh";
import { Mesh } from "babylonjs/Meshes/mesh";
import { Scene } from "babylonjs/scene";
import "babylonjs-materials/mix/mix.fragment";
import "babylonjs-materials/mix/mix.vertex";
export class MixMaterial extends PushMaterial {
/**
* Mix textures
*/
private _mixTexture1;
mixTexture1: BaseTexture;
private _mixTexture2;
mixTexture2: BaseTexture;
/**
* Diffuse textures
*/
private _diffuseTexture1;
diffuseTexture1: Texture;
private _diffuseTexture2;
diffuseTexture2: Texture;
private _diffuseTexture3;
diffuseTexture3: Texture;
private _diffuseTexture4;
diffuseTexture4: Texture;
private _diffuseTexture5;
diffuseTexture5: Texture;
private _diffuseTexture6;
diffuseTexture6: Texture;
private _diffuseTexture7;
diffuseTexture7: Texture;
private _diffuseTexture8;
diffuseTexture8: Texture;
/**
* Uniforms
*/
diffuseColor: Color3;
specularColor: Color3;
specularPower: number;
private _disableLighting;
disableLighting: boolean;
private _maxSimultaneousLights;
maxSimultaneousLights: number;
constructor(name: string, scene?: Scene);
needAlphaBlending(): boolean;
needAlphaTesting(): boolean;
getAlphaTestTexture(): Nullable<BaseTexture>;
isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
getAnimatables(): IAnimatable[];
getActiveTextures(): BaseTexture[];
hasTexture(texture: BaseTexture): boolean;
dispose(forceDisposeEffect?: boolean): void;
clone(name: string): MixMaterial;
serialize(): any;
getClassName(): string;
static Parse(source: any, scene: Scene, rootUrl: string): MixMaterial;
}
}
declare module "babylonjs-materials/normal/index" {
export * from "babylonjs-materials/normal/normalMaterial";
}
declare module "babylonjs-materials/normal/normal.fragment" {
import "babylonjs/Shaders/ShadersInclude/helperFunctions";
import "babylonjs/Shaders/ShadersInclude/lightFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightUboDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightsFragmentFunctions";
import "babylonjs/Shaders/ShadersInclude/shadowsFragmentFunctions";
import "babylonjs/Shaders/ShadersInclude/clipPlaneFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneFragment";
import "babylonjs/Shaders/ShadersInclude/depthPrePass";
import "babylonjs/Shaders/ShadersInclude/lightFragment";
import "babylonjs/Shaders/ShadersInclude/logDepthFragment";
import "babylonjs/Shaders/ShadersInclude/fogFragment";
import "babylonjs/Shaders/ShadersInclude/imageProcessingCompatibility";
/** @internal */
export const normalPixelShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/normal/normal.vertex" {
import "babylonjs/Shaders/ShadersInclude/bonesDeclaration";
import "babylonjs/Shaders/ShadersInclude/bakedVertexAnimationDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesDeclaration";
import "babylonjs/Shaders/ShadersInclude/clipPlaneVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/logDepthDeclaration";
import "babylonjs/Shaders/ShadersInclude/fogVertexDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightFragmentDeclaration";
import "babylonjs/Shaders/ShadersInclude/lightUboDeclaration";
import "babylonjs/Shaders/ShadersInclude/instancesVertex";
import "babylonjs/Shaders/ShadersInclude/bonesVertex";
import "babylonjs/Shaders/ShadersInclude/bakedVertexAnimation";
import "babylonjs/Shaders/ShadersInclude/clipPlaneVertex";
import "babylonjs/Shaders/ShadersInclude/logDepthVertex";
import "babylonjs/Shaders/ShadersInclude/fogVertex";
import "babylonjs/Shaders/ShadersInclude/shadowsVertex";
/** @internal */
export const normalVertexShader: {
name: string;
shader: string;
};
}
declare module "babylonjs-materials/normal/normalMaterial" {
import { Nullable } from "babylonjs/types";
import { Matrix } from "babylonjs/Maths/math.vector";
import { Color3 } from "babylonjs/Maths/math.color";
import { IAnimatable } from "babylonjs/Animations/animatable.interface";
import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
import { PushMaterial } from "babylonjs/Materials/pushMaterial";
import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
import { SubMesh } from "babylonjs/Meshes/subMesh";
import { Mesh } from "babylonjs/Meshes/mesh";
import { Scene } from "babylonjs/sce