UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

27 lines (26 loc) 1.4 kB
import { BasePersistedConfig, PersistedConfigWithShaders } from '../../../../utils/BasePersistedConfig'; import { BaseBuilderMatNodeType } from '../../../../mat/_BaseBuilder'; import { MaterialWithCustomMaterials } from '../../../../../../core/geometry/Material'; import { PolyDictionary } from '../../../../../../types/GlobalTypes'; import { OnBeforeCompileDataJSON } from './OnBeforeCompile'; type RemoveShaders<Type> = { [Property in keyof Type as Exclude<Property, 'fragmentShader' | 'vertexShader'>]: Type[Property]; }; export interface OnBeforeCompileDataJSONWithoutShaders extends RemoveShaders<OnBeforeCompileDataJSON> { } export interface PersistedConfigBaseMaterialData { material: object; onBeforeCompileDataJSONWithoutShaders: OnBeforeCompileDataJSONWithoutShaders; customMaterials?: PolyDictionary<PersistedConfigBaseMaterialData>; } export interface PersistedConfigBaseMaterialDataWithShaders extends PersistedConfigBaseMaterialData, PersistedConfigWithShaders { } export declare class MaterialPersistedConfig extends BasePersistedConfig { protected node: BaseBuilderMatNodeType; private _material; constructor(node: BaseBuilderMatNodeType); toData(): Promise<PersistedConfigBaseMaterialDataWithShaders | undefined>; load(data: PersistedConfigBaseMaterialDataWithShaders): void; material(): MaterialWithCustomMaterials | undefined; } export {};