import type { StandardMaterial } from "@babylonjs/core/Materials/standardMaterial"; import type { Mesh } from "@babylonjs/core/Meshes/mesh"; import type { Vec3, Vec4 } from "../Loader/Parser/mmdTypes"; import type { IMmdMaterialProxy } from "./IMmdMaterialProxy"; /** * Standard material proxy * * Used to apply MMD material morphs to standard materials */ export declare class StandardMaterialProxy implements IMmdMaterialProxy { /** * Diffuse color */ readonly diffuse: Vec4; /** * Specular color */ readonly specular: Vec3; /** * Shininess */ shininess: number; /** * Ambient color */ readonly ambient: Vec3; /** * Edge color */ readonly edgeColor: Vec4; /** * Edge size */ edgeSize: number; /** * Texture multiplicative color */ readonly textureMultiplicativeColor: Vec4; /** * Texture additive color */ readonly textureAdditiveColor: Vec4; /** * Sphere texture multiplicative color */ readonly sphereTextureMultiplicativeColor: Vec4; /** * Sphere texture additive color */ readonly sphereTextureAdditiveColor: Vec4; /** * Toon texture multiplicative color */ readonly toonTextureMultiplicativeColor: Vec4; /** * Toon texture additive color */ readonly toonTextureAdditiveColor: Vec4; protected readonly _material: StandardMaterial; private readonly _referencedMeshes; private readonly _initialDiffuse; private readonly _initialSpecular; private readonly _initialShininess; private readonly _initialAmbient; private readonly _initialTransparencyMode; /** * Create standard material proxy * @param material standard material */ constructor(material: StandardMaterial, referencedMeshes: readonly Mesh[]); /** * Reset material properties to initial state */ reset(): void; /** * Apply changes to the material */ applyChanges(): void; }