import { StandardMaterial } from "@babylonjs/core/Materials/standardMaterial"; import type { Texture } from "@babylonjs/core/Materials/Textures/texture"; import type { Color4 } from "@babylonjs/core/Maths/math.color"; import { Color3 } from "@babylonjs/core/Maths/math.color"; import type { Scene } from "@babylonjs/core/scene"; import type { Nullable } from "@babylonjs/core/types"; import type { MmdPluginMaterialSphereTextureBlendMode } from "./mmdPluginMaterial"; /** * MMD standard material * * This material is an extension of the `StandardMaterial` and includes features for mmd's shading specifications * * The user can decide whether to activate each mmd shading specification * * If you disable all features, it behaves the same as `StandardMaterial` */ export declare class MmdStandardMaterial extends StandardMaterial { private readonly _pluginMaterial; /** * Whether to use the outline rendering (default: false) */ renderOutline: boolean; /** * Outline width (default: 0.01) */ outlineWidth: number; /** * Outline color (default: (0, 0, 0)) */ outlineColor: Color3; /** * Outline alpha (default: 1.0) */ outlineAlpha: number; /** * Create a new MMD standard material * @param name Define the name of the material in the scene * @param scene The scene the material belongs to */ constructor(name: string, scene?: Scene); /** * Get or set sphere texture */ get sphereTexture(): Nullable; set sphereTexture(value: Nullable); /** * Get or set sphere texture blend mode (default: MmdPluginMaterialSphereTextureBlendMode.Add) */ get sphereTextureBlendMode(): MmdPluginMaterialSphereTextureBlendMode; set sphereTextureBlendMode(value: MmdPluginMaterialSphereTextureBlendMode); /** * Get or set toon texture */ get toonTexture(): Nullable; set toonTexture(value: Nullable); /** * If toe on texture is not set, decide whether to treat it as if it had white toon texture applied (default: true) * * In general, in order to get a stylized rendering, it's better to do true * * and if you want a more realistic rendering, it's better to do false */ get ignoreDiffuseWhenToonTextureIsNull(): boolean; set ignoreDiffuseWhenToonTextureIsNull(value: boolean); /** * Get or set whether to use the texture color (default: (1, 1, 1, 1)) * * If this property is first accessed as set, the shader is recompiled to support texture color properties * * After that, the feature is no longer turned off to prevent shader recompilation * * These features are subject to change at a later date */ get textureColor(): Color4; set textureColor(value: Color4); /** * Get or set whether to use the sphere texture color (default: (1, 1, 1, 1)) * * If this property is first accessed as set, the shader is recompiled to support texture color properties * * After that, the feature is no longer turned off to prevent shader recompilation * * These features are subject to change at a later date */ get sphereTextureColor(): Color4; set sphereTextureColor(value: Color4); /** * Get or set whether to use the toon texture color (default: (1, 1, 1, 1)) * * If this property is first accessed as set, the shader is recompiled to support texture color properties * * After that, the feature is no longer turned off to prevent shader recompilation * * These features are subject to change at a later date */ get toonTextureColor(): Color4; set toonTextureColor(value: Color4); }