@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
27 lines (26 loc) • 1.4 kB
TypeScript
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 {};