@babylonjs/core
Version:
Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
65 lines (64 loc) • 2.29 kB
TypeScript
import { MaterialDefines } from "../../Materials/materialDefines.js";
import { MaterialPluginBase } from "../../Materials/materialPluginBase.js";
import type { InternalTexture } from "../../Materials/Textures/internalTexture.js";
import type { Material } from "../../Materials/material.js";
import type { StandardMaterial } from "../../Materials/standardMaterial.js";
import { PBRBaseMaterial } from "../../Materials/PBR/pbrBaseMaterial.js";
import type { UniformBuffer } from "../../Materials/uniformBuffer.js";
import { ShaderLanguage } from "../../Materials/shaderLanguage.js";
/**
* @internal
*/
declare class MaterialIBLShadowsRenderDefines extends MaterialDefines {
RENDER_WITH_IBL_SHADOWS: boolean;
COLORED_IBL_SHADOWS: boolean;
}
/**
* Plugin used to render the contribution from IBL shadows.
*/
export declare class IBLShadowsPluginMaterial extends MaterialPluginBase {
/**
* Defines the name of the plugin.
*/
static readonly Name = "IBLShadowsPluginMaterial";
/**
* The texture containing the contribution from IBL shadows.
*/
iblShadowsTexture: InternalTexture;
/**
* The opacity of the shadows.
*/
shadowOpacity: number;
private _isEnabled;
private _isColored;
get isColored(): boolean;
set isColored(value: boolean);
/**
* Defines if the plugin is enabled in the material.
*/
isEnabled: boolean;
protected _markAllSubMeshesAsTexturesDirty(): void;
private _internalMarkAllSubMeshesAsTexturesDirty;
/**
* Gets a boolean indicating that the plugin is compatible with a give shader language.
* @returns true if the plugin is compatible with the shader language
*/
isCompatible(): boolean;
constructor(material: Material | StandardMaterial | PBRBaseMaterial);
prepareDefines(defines: MaterialIBLShadowsRenderDefines): void;
getClassName(): string;
getUniforms(): {
ubo: {
name: string;
size: number;
type: string;
}[];
fragment: string;
};
getSamplers(samplers: string[]): void;
bindForSubMesh(uniformBuffer: UniformBuffer): void;
getCustomCode(shaderType: string, shaderLanguage: ShaderLanguage): {
[name: string]: string;
} | null;
}
export {};