/** * Material System * * Simple material system optimized for low-poly modeling and game engines * * Materials are: * - Texture references * - Shading modes (flat/smooth) * - Render settings (alpha, emissive, etc.) * - Face grouping mechanism */ /** * Material shading mode */ export type MaterialShading = 'flat' | 'smooth'; /** * Material alpha mode */ export type MaterialAlpha = 'opaque' | 'cutout' | 'blend'; /** * Material data interface */ export interface MaterialData { name?: string; texture?: string | null; shading?: MaterialShading; alpha?: MaterialAlpha; emissive?: boolean; double_sided?: boolean; visible?: boolean; [key: string]: any; } /** * Material class * * Represents a material in the model. * Materials are stored in the project and referenced by faces via index. */ export declare class Material { uuid: string; name: string; texture: string | null; shading: MaterialShading; alpha: MaterialAlpha; emissive: boolean; double_sided: boolean; visible: boolean; constructor(data?: MaterialData, uuid?: string); /** * Extend material with new data */ extend(data: MaterialData): this; /** * Get save copy of material */ getSaveCopy(): MaterialData; /** * Get undo copy of material */ getUndoCopy(): MaterialData; /** * Clone material */ clone(): Material; /** * Check if material is opaque */ get isOpaque(): boolean; /** * Check if material is transparent */ get isTransparent(): boolean; /** * Check if material uses flat shading */ get isFlatShaded(): boolean; /** * Check if material uses smooth shading */ get isSmoothShaded(): boolean; } //# sourceMappingURL=material.d.ts.map