@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
38 lines (37 loc) • 1.38 kB
TypeScript
import { BaseSopOperation } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { TypedNodePathParamValue } from '../../../core/Walker';
import { InputCloneMode } from '../../../engine/poly/InputCloneMode';
import { DefaultOperationParams } from '../../../core/operations/_Base';
interface MaterialSopParams extends DefaultOperationParams {
group: string;
assignMat: boolean;
material: TypedNodePathParamValue;
cloneMat: boolean;
shareCustomUniforms: boolean;
swapCurrentTex: boolean;
texSrc0: string;
texDest0: string;
}
export declare class MaterialSopOperation extends BaseSopOperation {
private _materialSopOperationId;
static readonly DEFAULT_PARAMS: MaterialSopParams;
static readonly INPUT_CLONED_STATE = InputCloneMode.FROM_NODE;
static type(): Readonly<'material'>;
private _globalsHandler;
cook(inputCoreGroups: CoreGroup[], params: MaterialSopParams): Promise<CoreGroup>;
private _getMaterial;
private _watchedMaterialNode;
private _watchedMaterialNodeMaterial;
private _watchMaterialNode;
private _onMaterialUpdateBound;
private _onMaterialUpdate;
private _watchHookName;
private _applyMaterials;
private _oldMatByOldNewId;
private _materialByUuid;
private _swapTextures;
private _applyMaterial;
private _swapTexture;
}
export {};