123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895 |
- declare module 'babylonjs/pbrMaterial' {
- /**
- * The Physically based material base class of BJS.
- *
- * This offers the main features of a standard PBR material.
- * For more information, please refer to the documentation :
- * http://doc.babylonjs.com/extensions/Physically_Based_Rendering
- */
- abstract class PBRBaseMaterial extends PushMaterial {
- /**
- * Intensity of the direct lights e.g. the four lights available in your scene.
- * This impacts both the direct diffuse and specular highlights.
- */
- protected _directIntensity: number;
- /**
- * Intensity of the emissive part of the material.
- * This helps controlling the emissive effect without modifying the emissive color.
- */
- protected _emissiveIntensity: number;
- /**
- * Intensity of the environment e.g. how much the environment will light the object
- * either through harmonics for rough material or through the refelction for shiny ones.
- */
- protected _environmentIntensity: number;
- /**
- * This is a special control allowing the reduction of the specular highlights coming from the
- * four lights of the scene. Those highlights may not be needed in full environment lighting.
- */
- protected _specularIntensity: number;
- private _lightingInfos;
- /**
- * Debug Control allowing disabling the bump map on this material.
- */
- protected _disableBumpMap: boolean;
- /**
- * AKA Diffuse Texture in standard nomenclature.
- */
- protected _albedoTexture: BaseTexture;
- /**
- * AKA Occlusion Texture in other nomenclature.
- */
- protected _ambientTexture: BaseTexture;
- /**
- * AKA Occlusion Texture Intensity in other nomenclature.
- */
- protected _ambientTextureStrength: number;
- protected _opacityTexture: BaseTexture;
- protected _reflectionTexture: BaseTexture;
- protected _refractionTexture: BaseTexture;
- protected _emissiveTexture: BaseTexture;
- /**
- * AKA Specular texture in other nomenclature.
- */
- protected _reflectivityTexture: BaseTexture;
- /**
- * Used to switch from specular/glossiness to metallic/roughness workflow.
- */
- protected _metallicTexture: BaseTexture;
- /**
- * Specifies the metallic scalar of the metallic/roughness workflow.
- * Can also be used to scale the metalness values of the metallic texture.
- */
- protected _metallic: number;
- /**
- * Specifies the roughness scalar of the metallic/roughness workflow.
- * Can also be used to scale the roughness values of the metallic texture.
- */
- protected _roughness: number;
- /**
- * Used to enable roughness/glossiness fetch from a separate chanel depending on the current mode.
- * Gray Scale represents roughness in metallic mode and glossiness in specular mode.
- */
- protected _microSurfaceTexture: BaseTexture;
- protected _bumpTexture: BaseTexture;
- protected _lightmapTexture: BaseTexture;
- protected _ambientColor: Color3;
- /**
- * AKA Diffuse Color in other nomenclature.
- */
- protected _albedoColor: Color3;
- /**
- * AKA Specular Color in other nomenclature.
- */
- protected _reflectivityColor: Color3;
- protected _reflectionColor: Color3;
- protected _emissiveColor: Color3;
- /**
- * AKA Glossiness in other nomenclature.
- */
- protected _microSurface: number;
- /**
- * source material index of refraction (IOR)' / 'destination material IOR.
- */
- protected _indexOfRefraction: number;
- /**
- * Controls if refraction needs to be inverted on Y. This could be usefull for procedural texture.
- */
- protected _invertRefractionY: boolean;
- /**
- * This parameters will make the material used its opacity to control how much it is refracting aginst not.
- * Materials half opaque for instance using refraction could benefit from this control.
- */
- protected _linkRefractionWithTransparency: boolean;
- protected _useLightmapAsShadowmap: boolean;
- /**
- * This parameters will enable/disable Horizon occlusion to prevent normal maps to look shiny when the normal
- * makes the reflect vector face the model (under horizon).
- */
- protected _useHorizonOcclusion: boolean;
- /**
- * This parameters will enable/disable radiance occlusion by preventing the radiance to lit
- * too much the area relying on ambient texture to define their ambient occlusion.
- */
- protected _useRadianceOcclusion: boolean;
- /**
- * Specifies that the alpha is coming form the albedo channel alpha channel for alpha blending.
- */
- protected _useAlphaFromAlbedoTexture: boolean;
- /**
- * Specifies that the material will keeps the specular highlights over a transparent surface (only the most limunous ones).
- * A car glass is a good exemple of that. When sun reflects on it you can not see what is behind.
- */
- protected _useSpecularOverAlpha: boolean;
- /**
- * Specifies if the reflectivity texture contains the glossiness information in its alpha channel.
- */
- protected _useMicroSurfaceFromReflectivityMapAlpha: boolean;
- /**
- * Specifies if the metallic texture contains the roughness information in its alpha channel.
- */
- protected _useRoughnessFromMetallicTextureAlpha: boolean;
- /**
- * Specifies if the metallic texture contains the roughness information in its green channel.
- */
- protected _useRoughnessFromMetallicTextureGreen: boolean;
- /**
- * Specifies if the metallic texture contains the metallness information in its blue channel.
- */
- protected _useMetallnessFromMetallicTextureBlue: boolean;
- /**
- * Specifies if the metallic texture contains the ambient occlusion information in its red channel.
- */
- protected _useAmbientOcclusionFromMetallicTextureRed: boolean;
- /**
- * Specifies if the ambient texture contains the ambient occlusion information in its red channel only.
- */
- protected _useAmbientInGrayScale: boolean;
- /**
- * In case the reflectivity map does not contain the microsurface information in its alpha channel,
- * The material will try to infer what glossiness each pixel should be.
- */
- protected _useAutoMicroSurfaceFromReflectivityMap: boolean;
- /**
- * BJS is using an harcoded light falloff based on a manually sets up range.
- * In PBR, one way to represents the fallof is to use the inverse squared root algorythm.
- * This parameter can help you switch back to the BJS mode in order to create scenes using both materials.
- */
- protected _usePhysicalLightFalloff: boolean;
- /**
- * Specifies that the material will keeps the reflection highlights over a transparent surface (only the most limunous ones).
- * A car glass is a good exemple of that. When the street lights reflects on it you can not see what is behind.
- */
- protected _useRadianceOverAlpha: boolean;
- /**
- * Allows using the bump map in parallax mode.
- */
- protected _useParallax: boolean;
- /**
- * Allows using the bump map in parallax occlusion mode.
- */
- protected _useParallaxOcclusion: boolean;
- /**
- * Controls the scale bias of the parallax mode.
- */
- protected _parallaxScaleBias: number;
- /**
- * If sets to true, disables all the lights affecting the material.
- */
- protected _disableLighting: boolean;
- /**
- * Number of Simultaneous lights allowed on the material.
- */
- protected _maxSimultaneousLights: number;
- /**
- * If sets to true, x component of normal map value will be inverted (x = 1.0 - x).
- */
- protected _invertNormalMapX: boolean;
- /**
- * If sets to true, y component of normal map value will be inverted (y = 1.0 - y).
- */
- protected _invertNormalMapY: boolean;
- /**
- * If sets to true and backfaceCulling is false, normals will be flipped on the backside.
- */
- protected _twoSidedLighting: boolean;
- /**
- * Defines the alpha limits in alpha test mode.
- */
- protected _alphaCutOff: number;
- /**
- * Enforces alpha test in opaque or blend mode in order to improve the performances of some situations.
- */
- protected _forceAlphaTest: boolean;
- /**
- * A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested.
- * And/Or occlude the blended part. (alpha is converted to gamma to compute the fresnel)
- */
- protected _useAlphaFresnel: boolean;
- /**
- * A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested.
- * And/Or occlude the blended part. (alpha stays linear to compute the fresnel)
- */
- protected _useLinearAlphaFresnel: boolean;
- /**
- * The transparency mode of the material.
- */
- protected _transparencyMode: Nullable<number>;
- /**
- * Specifies the environment BRDF texture used to comput the scale and offset roughness values
- * from cos thetav and roughness:
- * http://blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_notes_v2.pdf
- */
- protected _environmentBRDFTexture: Nullable<BaseTexture>;
- /**
- * Force the shader to compute irradiance in the fragment shader in order to take bump in account.
- */
- protected _forceIrradianceInFragment: boolean;
- /**
- * Force normal to face away from face.
- */
- protected _forceNormalForward: boolean;
- /**
- * Force metallic workflow.
- */
- protected _forceMetallicWorkflow: boolean;
- /**
- * Default configuration related to image processing available in the PBR Material.
- */
- protected _imageProcessingConfiguration: ImageProcessingConfiguration;
- /**
- * Keep track of the image processing observer to allow dispose and replace.
- */
- private _imageProcessingObserver;
- /**
- * Attaches a new image processing configuration to the PBR Material.
- * @param configuration
- */
- protected _attachImageProcessingConfiguration(configuration: Nullable<ImageProcessingConfiguration>): void;
- private _renderTargets;
- private _globalAmbientColor;
- private _useLogarithmicDepth;
- /**
- * Instantiates a new PBRMaterial instance.
- *
- * @param name The material name
- * @param scene The scene the material will be use in.
- */
- constructor(name: string, scene: Scene);
- getClassName(): string;
- useLogarithmicDepth: boolean;
- /**
- * Gets the current transparency mode.
- */
- /**
- * Sets the transparency mode of the material.
- */
- transparencyMode: Nullable<number>;
- /**
- * Returns true if alpha blending should be disabled.
- */
- private readonly _disableAlphaBlending;
- /**
- * Specifies whether or not this material should be rendered in alpha blend mode.
- */
- needAlphaBlending(): boolean;
- /**
- * Specifies whether or not this material should be rendered in alpha blend mode for the given mesh.
- */
- needAlphaBlendingForMesh(mesh: AbstractMesh): boolean;
- /**
- * Specifies whether or not this material should be rendered in alpha test mode.
- */
- needAlphaTesting(): boolean;
- /**
- * Specifies whether or not the alpha value of the albedo texture should be used for alpha blending.
- */
- protected _shouldUseAlphaFromAlbedoTexture(): boolean;
- getAlphaTestTexture(): BaseTexture;
- private static _scaledReflectivity;
- isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
- buildUniformLayout(): void;
- unbind(): void;
- bindOnlyWorldMatrix(world: Matrix): void;
- bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
- getAnimatables(): IAnimatable[];
- private _getReflectionTexture();
- private _getRefractionTexture();
- dispose(forceDisposeEffect?: boolean, forceDisposeTextures?: boolean): void;
- }
- }
- declare module 'babylonjs/pbrMaterial' {
- /**
- * The Physically based simple base material of BJS.
- *
- * This enables better naming and convention enforcements on top of the pbrMaterial.
- * It is used as the base class for both the specGloss and metalRough conventions.
- */
- abstract class PBRBaseSimpleMaterial extends PBRBaseMaterial {
- /**
- * Number of Simultaneous lights allowed on the material.
- */
- maxSimultaneousLights: number;
- /**
- * If sets to true, disables all the lights affecting the material.
- */
- disableLighting: boolean;
- /**
- * Environment Texture used in the material (this is use for both reflection and environment lighting).
- */
- environmentTexture: BaseTexture;
- /**
- * If sets to true, x component of normal map value will invert (x = 1.0 - x).
- */
- invertNormalMapX: boolean;
- /**
- * If sets to true, y component of normal map value will invert (y = 1.0 - y).
- */
- invertNormalMapY: boolean;
- /**
- * Normal map used in the model.
- */
- normalTexture: BaseTexture;
- /**
- * Emissivie color used to self-illuminate the model.
- */
- emissiveColor: Color3;
- /**
- * Emissivie texture used to self-illuminate the model.
- */
- emissiveTexture: BaseTexture;
- /**
- * Occlusion Channel Strenght.
- */
- occlusionStrength: number;
- /**
- * Occlusion Texture of the material (adding extra occlusion effects).
- */
- occlusionTexture: BaseTexture;
- /**
- * Defines the alpha limits in alpha test mode.
- */
- alphaCutOff: number;
- /**
- * Gets the current double sided mode.
- */
- /**
- * If sets to true and backfaceCulling is false, normals will be flipped on the backside.
- */
- doubleSided: boolean;
- lightmapTexture: BaseTexture;
- useLightmapAsShadowmap: boolean;
- /**
- * Return the active textures of the material.
- */
- getActiveTextures(): BaseTexture[];
- hasTexture(texture: BaseTexture): boolean;
- /**
- * Instantiates a new PBRMaterial instance.
- *
- * @param name The material name
- * @param scene The scene the material will be use in.
- */
- constructor(name: string, scene: Scene);
- getClassName(): string;
- }
- }
- declare module 'babylonjs/pbrMaterial' {
- /**
- * The Physically based material of BJS.
- *
- * This offers the main features of a standard PBR material.
- * For more information, please refer to the documentation :
- * http://doc.babylonjs.com/extensions/Physically_Based_Rendering
- */
- class PBRMaterial extends PBRBaseMaterial {
- private static _PBRMATERIAL_OPAQUE;
- /**
- * PBRMaterialTransparencyMode: No transparency mode, Alpha channel is not use.
- */
- static readonly PBRMATERIAL_OPAQUE: number;
- private static _PBRMATERIAL_ALPHATEST;
- /**
- * PBRMaterialTransparencyMode: Alpha Test mode, pixel are discarded below a certain threshold defined by the alpha cutoff value.
- */
- static readonly PBRMATERIAL_ALPHATEST: number;
- private static _PBRMATERIAL_ALPHABLEND;
- /**
- * PBRMaterialTransparencyMode: Pixels are blended (according to the alpha mode) with the already drawn pixels in the current frame buffer.
- */
- static readonly PBRMATERIAL_ALPHABLEND: number;
- private static _PBRMATERIAL_ALPHATESTANDBLEND;
- /**
- * PBRMaterialTransparencyMode: Pixels are blended (according to the alpha mode) with the already drawn pixels in the current frame buffer.
- * They are also discarded below the alpha cutoff threshold to improve performances.
- */
- static readonly PBRMATERIAL_ALPHATESTANDBLEND: number;
- /**
- * Intensity of the direct lights e.g. the four lights available in your scene.
- * This impacts both the direct diffuse and specular highlights.
- */
- directIntensity: number;
- /**
- * Intensity of the emissive part of the material.
- * This helps controlling the emissive effect without modifying the emissive color.
- */
- emissiveIntensity: number;
- /**
- * Intensity of the environment e.g. how much the environment will light the object
- * either through harmonics for rough material or through the refelction for shiny ones.
- */
- environmentIntensity: number;
- /**
- * This is a special control allowing the reduction of the specular highlights coming from the
- * four lights of the scene. Those highlights may not be needed in full environment lighting.
- */
- specularIntensity: number;
- /**
- * Debug Control allowing disabling the bump map on this material.
- */
- disableBumpMap: boolean;
- /**
- * AKA Diffuse Texture in standard nomenclature.
- */
- albedoTexture: BaseTexture;
- /**
- * AKA Occlusion Texture in other nomenclature.
- */
- ambientTexture: BaseTexture;
- /**
- * AKA Occlusion Texture Intensity in other nomenclature.
- */
- ambientTextureStrength: number;
- opacityTexture: BaseTexture;
- reflectionTexture: Nullable<BaseTexture>;
- emissiveTexture: BaseTexture;
- /**
- * AKA Specular texture in other nomenclature.
- */
- reflectivityTexture: BaseTexture;
- /**
- * Used to switch from specular/glossiness to metallic/roughness workflow.
- */
- metallicTexture: BaseTexture;
- /**
- * Specifies the metallic scalar of the metallic/roughness workflow.
- * Can also be used to scale the metalness values of the metallic texture.
- */
- metallic: number;
- /**
- * Specifies the roughness scalar of the metallic/roughness workflow.
- * Can also be used to scale the roughness values of the metallic texture.
- */
- roughness: number;
- /**
- * Used to enable roughness/glossiness fetch from a separate chanel depending on the current mode.
- * Gray Scale represents roughness in metallic mode and glossiness in specular mode.
- */
- microSurfaceTexture: BaseTexture;
- bumpTexture: BaseTexture;
- lightmapTexture: BaseTexture;
- refractionTexture: BaseTexture;
- ambientColor: Color3;
- /**
- * AKA Diffuse Color in other nomenclature.
- */
- albedoColor: Color3;
- /**
- * AKA Specular Color in other nomenclature.
- */
- reflectivityColor: Color3;
- reflectionColor: Color3;
- emissiveColor: Color3;
- /**
- * AKA Glossiness in other nomenclature.
- */
- microSurface: number;
- /**
- * source material index of refraction (IOR)' / 'destination material IOR.
- */
- indexOfRefraction: number;
- /**
- * Controls if refraction needs to be inverted on Y. This could be usefull for procedural texture.
- */
- invertRefractionY: boolean;
- /**
- * This parameters will make the material used its opacity to control how much it is refracting aginst not.
- * Materials half opaque for instance using refraction could benefit from this control.
- */
- linkRefractionWithTransparency: boolean;
- useLightmapAsShadowmap: boolean;
- /**
- * Specifies that the alpha is coming form the albedo channel alpha channel for alpha blending.
- */
- useAlphaFromAlbedoTexture: boolean;
- /**
- * Enforces alpha test in opaque or blend mode in order to improve the performances of some situations.
- */
- forceAlphaTest: boolean;
- /**
- * Defines the alpha limits in alpha test mode.
- */
- alphaCutOff: number;
- /**
- * Specifies that the material will keeps the specular highlights over a transparent surface (only the most limunous ones).
- * A car glass is a good exemple of that. When sun reflects on it you can not see what is behind.
- */
- useSpecularOverAlpha: boolean;
- /**
- * Specifies if the reflectivity texture contains the glossiness information in its alpha channel.
- */
- useMicroSurfaceFromReflectivityMapAlpha: boolean;
- /**
- * Specifies if the metallic texture contains the roughness information in its alpha channel.
- */
- useRoughnessFromMetallicTextureAlpha: boolean;
- /**
- * Specifies if the metallic texture contains the roughness information in its green channel.
- */
- useRoughnessFromMetallicTextureGreen: boolean;
- /**
- * Specifies if the metallic texture contains the metallness information in its blue channel.
- */
- useMetallnessFromMetallicTextureBlue: boolean;
- /**
- * Specifies if the metallic texture contains the ambient occlusion information in its red channel.
- */
- useAmbientOcclusionFromMetallicTextureRed: boolean;
- /**
- * Specifies if the ambient texture contains the ambient occlusion information in its red channel only.
- */
- useAmbientInGrayScale: boolean;
- /**
- * In case the reflectivity map does not contain the microsurface information in its alpha channel,
- * The material will try to infer what glossiness each pixel should be.
- */
- useAutoMicroSurfaceFromReflectivityMap: boolean;
- /**
- * BJS is using an harcoded light falloff based on a manually sets up range.
- * In PBR, one way to represents the fallof is to use the inverse squared root algorythm.
- * This parameter can help you switch back to the BJS mode in order to create scenes using both materials.
- */
- usePhysicalLightFalloff: boolean;
- /**
- * Specifies that the material will keeps the reflection highlights over a transparent surface (only the most limunous ones).
- * A car glass is a good exemple of that. When the street lights reflects on it you can not see what is behind.
- */
- useRadianceOverAlpha: boolean;
- /**
- * Allows using the bump map in parallax mode.
- */
- useParallax: boolean;
- /**
- * Allows using the bump map in parallax occlusion mode.
- */
- useParallaxOcclusion: boolean;
- /**
- * Controls the scale bias of the parallax mode.
- */
- parallaxScaleBias: number;
- /**
- * If sets to true, disables all the lights affecting the material.
- */
- disableLighting: boolean;
- /**
- * Force the shader to compute irradiance in the fragment shader in order to take bump in account.
- */
- forceIrradianceInFragment: boolean;
- /**
- * Number of Simultaneous lights allowed on the material.
- */
- maxSimultaneousLights: number;
- /**
- * If sets to true, x component of normal map value will invert (x = 1.0 - x).
- */
- invertNormalMapX: boolean;
- /**
- * If sets to true, y component of normal map value will invert (y = 1.0 - y).
- */
- invertNormalMapY: boolean;
- /**
- * If sets to true and backfaceCulling is false, normals will be flipped on the backside.
- */
- twoSidedLighting: boolean;
- /**
- * A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested.
- * And/Or occlude the blended part. (alpha is converted to gamma to compute the fresnel)
- */
- useAlphaFresnel: boolean;
- /**
- * A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested.
- * And/Or occlude the blended part. (alpha stays linear to compute the fresnel)
- */
- useLinearAlphaFresnel: boolean;
- /**
- * A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested.
- * And/Or occlude the blended part.
- */
- environmentBRDFTexture: Nullable<BaseTexture>;
- /**
- * Force normal to face away from face.
- */
- forceNormalForward: boolean;
- /**
- * This parameters will enable/disable Horizon occlusion to prevent normal maps to look shiny when the normal
- * makes the reflect vector face the model (under horizon).
- */
- useHorizonOcclusion: boolean;
- /**
- * This parameters will enable/disable radiance occlusion by preventing the radiance to lit
- * too much the area relying on ambient texture to define their ambient occlusion.
- */
- useRadianceOcclusion: boolean;
- /**
- * Gets the image processing configuration used either in this material.
- */
- /**
- * Sets the Default image processing configuration used either in the this material.
- *
- * If sets to null, the scene one is in use.
- */
- imageProcessingConfiguration: ImageProcessingConfiguration;
- /**
- * Gets wether the color curves effect is enabled.
- */
- /**
- * Sets wether the color curves effect is enabled.
- */
- cameraColorCurvesEnabled: boolean;
- /**
- * Gets wether the color grading effect is enabled.
- */
- /**
- * Gets wether the color grading effect is enabled.
- */
- cameraColorGradingEnabled: boolean;
- /**
- * Gets wether tonemapping is enabled or not.
- */
- /**
- * Sets wether tonemapping is enabled or not
- */
- cameraToneMappingEnabled: boolean;
- /**
- * The camera exposure used on this material.
- * This property is here and not in the camera to allow controlling exposure without full screen post process.
- * This corresponds to a photographic exposure.
- */
- /**
- * The camera exposure used on this material.
- * This property is here and not in the camera to allow controlling exposure without full screen post process.
- * This corresponds to a photographic exposure.
- */
- cameraExposure: number;
- /**
- * Gets The camera contrast used on this material.
- */
- /**
- * Sets The camera contrast used on this material.
- */
- cameraContrast: number;
- /**
- * Gets the Color Grading 2D Lookup Texture.
- */
- /**
- * Sets the Color Grading 2D Lookup Texture.
- */
- cameraColorGradingTexture: Nullable<BaseTexture>;
- /**
- * 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.
- * These are similar to controls found in many professional imaging or colorist software. The global controls are applied to the entire image. For advanced tuning, extra controls are provided to adjust the shadow, midtone and highlight areas of the image;
- * corresponding to low luminance, medium luminance, and high luminance areas respectively.
- */
- /**
- * 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.
- * These are similar to controls found in many professional imaging or colorist software. The global controls are applied to the entire image. For advanced tuning, extra controls are provided to adjust the shadow, midtone and highlight areas of the image;
- * corresponding to low luminance, medium luminance, and high luminance areas respectively.
- */
- cameraColorCurves: Nullable<ColorCurves>;
- /**
- * Instantiates a new PBRMaterial instance.
- *
- * @param name The material name
- * @param scene The scene the material will be use in.
- */
- constructor(name: string, scene: Scene);
- getClassName(): string;
- getActiveTextures(): BaseTexture[];
- hasTexture(texture: BaseTexture): boolean;
- clone(name: string): PBRMaterial;
- serialize(): any;
- static Parse(source: any, scene: Scene, rootUrl: string): PBRMaterial;
- }
- }
- declare module 'babylonjs/pbrMaterial' {
- /**
- * The PBR material of BJS following the metal roughness convention.
- *
- * This fits to the PBR convention in the GLTF definition:
- * https://github.com/KhronosGroup/glTF/tree/2.0/specification/2.0
- */
- class PBRMetallicRoughnessMaterial extends PBRBaseSimpleMaterial {
- /**
- * The base color has two different interpretations depending on the value of metalness.
- * When the material is a metal, the base color is the specific measured reflectance value
- * at normal incidence (F0). For a non-metal the base color represents the reflected diffuse color
- * of the material.
- */
- baseColor: Color3;
- /**
- * Base texture of the metallic workflow. It contains both the baseColor information in RGB as
- * well as opacity information in the alpha channel.
- */
- baseTexture: BaseTexture;
- /**
- * Specifies the metallic scalar value of the material.
- * Can also be used to scale the metalness values of the metallic texture.
- */
- metallic: number;
- /**
- * Specifies the roughness scalar value of the material.
- * Can also be used to scale the roughness values of the metallic texture.
- */
- roughness: number;
- /**
- * Texture containing both the metallic value in the B channel and the
- * roughness value in the G channel to keep better precision.
- */
- metallicRoughnessTexture: BaseTexture;
- /**
- * Instantiates a new PBRMetalRoughnessMaterial instance.
- *
- * @param name The material name
- * @param scene The scene the material will be use in.
- */
- constructor(name: string, scene: Scene);
- /**
- * Return the currrent class name of the material.
- */
- getClassName(): string;
- /**
- * Return the active textures of the material.
- */
- getActiveTextures(): BaseTexture[];
- hasTexture(texture: BaseTexture): boolean;
- clone(name: string): PBRMetallicRoughnessMaterial;
- /**
- * Serialize the material to a parsable JSON object.
- */
- serialize(): any;
- /**
- * Parses a JSON object correponding to the serialize function.
- */
- static Parse(source: any, scene: Scene, rootUrl: string): PBRMetallicRoughnessMaterial;
- }
- }
- declare module 'babylonjs/pbrMaterial' {
- /**
- * The PBR material of BJS following the specular glossiness convention.
- *
- * This fits to the PBR convention in the GLTF definition:
- * https://github.com/KhronosGroup/glTF/tree/2.0/extensions/Khronos/KHR_materials_pbrSpecularGlossiness
- */
- class PBRSpecularGlossinessMaterial extends PBRBaseSimpleMaterial {
- /**
- * Specifies the diffuse color of the material.
- */
- diffuseColor: Color3;
- /**
- * Specifies the diffuse texture of the material. This can also contains the opcity value in its alpha
- * channel.
- */
- diffuseTexture: BaseTexture;
- /**
- * Specifies the specular color of the material. This indicates how reflective is the material (none to mirror).
- */
- specularColor: Color3;
- /**
- * Specifies the glossiness of the material. This indicates "how sharp is the reflection".
- */
- glossiness: number;
- /**
- * Specifies both the specular color RGB and the glossiness A of the material per pixels.
- */
- specularGlossinessTexture: BaseTexture;
- /**
- * Instantiates a new PBRSpecularGlossinessMaterial instance.
- *
- * @param name The material name
- * @param scene The scene the material will be use in.
- */
- constructor(name: string, scene: Scene);
- /**
- * Return the currrent class name of the material.
- */
- getClassName(): string;
- /**
- * Return the active textures of the material.
- */
- getActiveTextures(): BaseTexture[];
- hasTexture(texture: BaseTexture): boolean;
- clone(name: string): PBRSpecularGlossinessMaterial;
- /**
- * Serialize the material to a parsable JSON object.
- */
- serialize(): any;
- /**
- * Parses a JSON object correponding to the serialize function.
- */
- static Parse(source: any, scene: Scene, rootUrl: string): PBRSpecularGlossinessMaterial;
- }
- }
- import {EffectFallbacks,EffectCreationOptions,Effect,Nullable,float,double,int,FloatArray,IndicesArray,KeyboardEventTypes,KeyboardInfo,KeyboardInfoPre,PointerEventTypes,PointerInfoBase,PointerInfoPre,PointerInfo,ToGammaSpace,ToLinearSpace,Epsilon,Color3,Color4,Vector2,Vector3,Vector4,ISize,Size,Quaternion,Matrix,Plane,Viewport,Frustum,Space,Axis,BezierCurve,Orientation,Angle,Arc2,Path2,Path3D,Curve3,PositionNormalVertex,PositionNormalTextureVertex,Tmp,Scalar,expandToProperty,serialize,serializeAsTexture,serializeAsColor3,serializeAsFresnelParameters,serializeAsVector2,serializeAsVector3,serializeAsMeshReference,serializeAsColorCurves,serializeAsColor4,serializeAsImageProcessingConfiguration,serializeAsQuaternion,SerializationHelper,EventState,Observer,MultiObserver,Observable,SmartArray,SmartArrayNoDuplicate,IAnimatable,LoadFileError,RetryStrategy,IFileRequest,Tools,PerfCounter,className,AsyncLoop,_AlphaState,_DepthCullingState,_StencilState,InstancingAttributeInfo,RenderTargetCreationOptions,EngineCapabilities,EngineOptions,IDisplayChangedEventArgs,Engine,Node,BoundingSphere,BoundingBox,ICullable,BoundingInfo,TransformNode,AbstractMesh,Light,Camera,RenderingManager,RenderingGroup,IDisposable,IActiveMeshCandidateProvider,RenderingGroupInfo,Scene,Buffer,VertexBuffer,InternalTexture,BaseTexture,Texture,_InstancesBatch,Mesh,BaseSubMesh,SubMesh,MaterialDefines,Material,UniformBuffer,IGetSetVerticesData,VertexData,Geometry,_PrimitiveGeometry,RibbonGeometry,BoxGeometry,SphereGeometry,DiscGeometry,CylinderGeometry,TorusGeometry,GroundGeometry,TiledGroundGeometry,PlaneGeometry,TorusKnotGeometry,PostProcessManager,PerformanceMonitor,RollingAverage,IImageProcessingConfigurationDefines,ImageProcessingConfiguration,ColorGradingTexture,ColorCurves,Behavior,MaterialHelper,PushMaterial,StandardMaterialDefines,StandardMaterial} from 'babylonjs/core';
- import {EngineInstrumentation,SceneInstrumentation,_TimeToken} from 'babylonjs/instrumentation';
- import {Particle,IParticleSystem,ParticleSystem,BoxParticleEmitter,ConeParticleEmitter,SphereParticleEmitter,SphereDirectedParticleEmitter,IParticleEmitterType} from 'babylonjs/particles';
- import {GPUParticleSystem} from 'babylonjs/gpuParticles';
- import {FramingBehavior,BouncingBehavior,AutoRotationBehavior} from 'babylonjs/cameraBehaviors';
- import {NullEngineOptions,NullEngine} from 'babylonjs/nullEngine';
- import {TextureTools} from 'babylonjs/textureTools';
- import {SolidParticle,ModelShape,DepthSortedParticle,SolidParticleSystem} from 'babylonjs/solidParticles';
- import {Collider,CollisionWorker,ICollisionCoordinator,SerializedMesh,SerializedSubMesh,SerializedGeometry,BabylonMessage,SerializedColliderToWorker,WorkerTaskType,WorkerReply,CollisionReplyPayload,InitPayload,CollidePayload,UpdatePayload,WorkerReplyType,CollisionCoordinatorWorker,CollisionCoordinatorLegacy} from 'babylonjs/collisions';
- import {IntersectionInfo,PickingInfo,Ray} from 'babylonjs/picking';
- import {SpriteManager,Sprite} from 'babylonjs/sprites';
- import {AnimationRange,AnimationEvent,PathCursor,Animation,TargetedAnimation,AnimationGroup,RuntimeAnimation,Animatable,IEasingFunction,EasingFunction,CircleEase,BackEase,BounceEase,CubicEase,ElasticEase,ExponentialEase,PowerEase,QuadraticEase,QuarticEase,QuinticEase,SineEase,BezierCurveEase} from 'babylonjs/animations';
- import {Condition,ValueCondition,PredicateCondition,StateCondition,Action,ActionEvent,ActionManager,InterpolateValueAction,SwitchBooleanAction,SetStateAction,SetValueAction,IncrementValueAction,PlayAnimationAction,StopAnimationAction,DoNothingAction,CombineAction,ExecuteCodeAction,SetParentAction,PlaySoundAction,StopSoundAction} from 'babylonjs/actions';
- import {GroundMesh,InstancedMesh,LinesMesh} from 'babylonjs/additionalMeshes';
- import {ShaderMaterial} from 'babylonjs/shaderMaterial';
- import {MeshBuilder} from 'babylonjs/meshBuilder';
- import {CameraInputTypes,ICameraInput,CameraInputsMap,CameraInputsManager,TargetCamera} from 'babylonjs/targetCamera';
- import {ArcRotateCameraKeyboardMoveInput,ArcRotateCameraMouseWheelInput,ArcRotateCameraPointersInput,ArcRotateCameraInputsManager,ArcRotateCamera} from 'babylonjs/arcRotateCamera';
- import {FreeCameraMouseInput,FreeCameraKeyboardMoveInput,FreeCameraInputsManager,FreeCamera} from 'babylonjs/freeCamera';
- import {HemisphericLight} from 'babylonjs/hemisphericLight';
- import {IShadowLight,ShadowLight,PointLight} from 'babylonjs/pointLight';
- import {DirectionalLight} from 'babylonjs/directionalLight';
- import {SpotLight} from 'babylonjs/spotLight';
- import {CubeTexture,RenderTargetTexture,IMultiRenderTargetOptions,MultiRenderTarget,MirrorTexture,RefractionTexture,DynamicTexture,VideoTexture,RawTexture} from 'babylonjs/additionalTextures';
- import {AudioEngine,Sound,SoundTrack,Analyser} from 'babylonjs/audio';
- import {ILoadingScreen,DefaultLoadingScreen,SceneLoaderProgressEvent,ISceneLoaderPluginExtensions,ISceneLoaderPluginFactory,ISceneLoaderPlugin,ISceneLoaderPluginAsync,SceneLoader,FilesInput} from 'babylonjs/loader';
- import {IShadowGenerator,ShadowGenerator} from 'babylonjs/shadows';
- import {StringDictionary} from 'babylonjs/stringDictionary';
- import {Tags,AndOrNotEvaluator} from 'babylonjs/userData';
- import {FresnelParameters} from 'babylonjs/fresnel';
- import {MultiMaterial} from 'babylonjs/multiMaterial';
- import {Database} from 'babylonjs/offline';
- import {FreeCameraTouchInput,TouchCamera} from 'babylonjs/touchCamera';
- import {ProceduralTexture,CustomProceduralTexture} from 'babylonjs/procedural';
- import {FreeCameraGamepadInput,ArcRotateCameraGamepadInput,GamepadManager,StickValues,GamepadButtonChanges,Gamepad,GenericPad,Xbox360Button,Xbox360Dpad,Xbox360Pad,PoseEnabledControllerType,MutableGamepadButton,ExtendedGamepadButton,PoseEnabledControllerHelper,PoseEnabledController,WebVRController,OculusTouchController,ViveController,GenericController,WindowsMotionController} from 'babylonjs/gamepad';
- import {FollowCamera,ArcFollowCamera,UniversalCamera,GamepadCamera} from 'babylonjs/additionalCameras';
- import {DepthRenderer} from 'babylonjs/depthRenderer';
- import {GeometryBufferRenderer} from 'babylonjs/geometryBufferRenderer';
- import {PostProcessOptions,PostProcess,PassPostProcess} from 'babylonjs/postProcesses';
- import {BlurPostProcess} from 'babylonjs/additionalPostProcess_blur';
- import {FxaaPostProcess} from 'babylonjs/additionalPostProcess_fxaa';
- import {HighlightsPostProcess} from 'babylonjs/additionalPostProcess_highlights';
- import {RefractionPostProcess,BlackAndWhitePostProcess,ConvolutionPostProcess,FilterPostProcess,VolumetricLightScatteringPostProcess,ColorCorrectionPostProcess,TonemappingOperator,TonemapPostProcess,DisplayPassPostProcess,ImageProcessingPostProcess} from 'babylonjs/additionalPostProcesses';
- import {PostProcessRenderPipelineManager,PostProcessRenderPass,PostProcessRenderEffect,PostProcessRenderPipeline} from 'babylonjs/renderingPipeline';
- import {SSAORenderingPipeline,SSAO2RenderingPipeline,LensRenderingPipeline,StandardRenderingPipeline} from 'babylonjs/additionalRenderingPipeline';
- import {DefaultRenderingPipeline} from 'babylonjs/defaultRenderingPipeline';
- import {Bone,BoneIKController,BoneLookController,Skeleton} from 'babylonjs/bones';
- import {SphericalPolynomial,SphericalHarmonics,CubeMapToSphericalPolynomialTools,CubeMapInfo,PanoramaToCubeMapTools,HDRInfo,HDRTools,HDRCubeTexture} from 'babylonjs/hdr';
- import {CSG} from 'babylonjs/csg';
- import {Polygon,PolygonMeshBuilder} from 'babylonjs/polygonMesh';
- import {LensFlare,LensFlareSystem} from 'babylonjs/lensFlares';
- import {PhysicsJointData,PhysicsJoint,DistanceJoint,MotorEnabledJoint,HingeJoint,Hinge2Joint,IMotorEnabledJoint,DistanceJointData,SpringJointData,PhysicsImpostorParameters,IPhysicsEnabledObject,PhysicsImpostor,PhysicsImpostorJoint,PhysicsEngine,IPhysicsEnginePlugin,PhysicsHelper,PhysicsRadialExplosionEvent,PhysicsGravitationalFieldEvent,PhysicsUpdraftEvent,PhysicsVortexEvent,PhysicsRadialImpulseFalloff,PhysicsUpdraftMode,PhysicsForceAndContactPoint,PhysicsRadialExplosionEventData,PhysicsGravitationalFieldEventData,PhysicsUpdraftEventData,PhysicsVortexEventData,CannonJSPlugin,OimoJSPlugin} from 'babylonjs/physics';
- import {TGATools,DDSInfo,DDSTools,KhronosTextureContainer} from 'babylonjs/textureFormats';
- import {Debug,RayHelper,DebugLayer,BoundingBoxRenderer} from 'babylonjs/debug';
- import {MorphTarget,MorphTargetManager} from 'babylonjs/morphTargets';
- import {IOctreeContainer,Octree,OctreeBlock} from 'babylonjs/octrees';
- import {SIMDHelper} from 'babylonjs/simd';
- import {VRDistortionCorrectionPostProcess,AnaglyphPostProcess,StereoscopicInterlacePostProcess,FreeCameraDeviceOrientationInput,ArcRotateCameraVRDeviceOrientationInput,VRCameraMetrics,DevicePose,PoseControlled,WebVROptions,WebVRFreeCamera,DeviceOrientationCamera,VRDeviceOrientationFreeCamera,VRDeviceOrientationGamepadCamera,VRDeviceOrientationArcRotateCamera,AnaglyphFreeCamera,AnaglyphArcRotateCamera,AnaglyphGamepadCamera,AnaglyphUniversalCamera,StereoscopicFreeCamera,StereoscopicArcRotateCamera,StereoscopicGamepadCamera,StereoscopicUniversalCamera,VRTeleportationOptions,VRExperienceHelperOptions,VRExperienceHelper} from 'babylonjs/vr';
- import {JoystickAxis,VirtualJoystick,VirtualJoysticksCamera,FreeCameraVirtualJoystickInput} from 'babylonjs/virtualJoystick';
- import {ISimplifier,ISimplificationSettings,SimplificationSettings,ISimplificationTask,SimplificationQueue,SimplificationType,DecimationTriangle,DecimationVertex,QuadraticMatrix,Reference,QuadraticErrorSimplification,MeshLODLevel,SceneOptimization,TextureOptimization,HardwareScalingOptimization,ShadowsOptimization,PostProcessesOptimization,LensFlaresOptimization,ParticlesOptimization,RenderTargetsOptimization,MergeMeshesOptimization,SceneOptimizerOptions,SceneOptimizer} from 'babylonjs/optimizations';
- import {OutlineRenderer,EdgesRenderer,IHighlightLayerOptions,HighlightLayer} from 'babylonjs/highlights';
- import {SceneSerializer} from 'babylonjs/serialization';
- import {AssetTaskState,AbstractAssetTask,IAssetsProgressEvent,AssetsProgressEvent,MeshAssetTask,TextFileAssetTask,BinaryFileAssetTask,ImageAssetTask,ITextureAssetTask,TextureAssetTask,CubeTextureAssetTask,HDRCubeTextureAssetTask,AssetsManager} from 'babylonjs/assetsManager';
- import {ReflectionProbe} from 'babylonjs/probes';
- import {BackgroundMaterial} from 'babylonjs/backgroundMaterial';
- import {Layer} from 'babylonjs/layer';
- import {IEnvironmentHelperOptions,EnvironmentHelper} from 'babylonjs/environmentHelper';
|