UNPKG

@polygonjs/polygonjs

Version:

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

38 lines (37 loc) 1.38 kB
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 {};