@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
55 lines (54 loc) • 3.46 kB
TypeScript
import { Constructor } from '../../../../types/GlobalTypes';
import { TypedMatNode } from '../_Base';
import { BaseTextureMapController } from './_BaseTextureController';
import { NodeParamsConfig } from '../../utils/params/ParamsConfig';
import { MeshPhongMaterial, MeshPhysicalMaterial } from 'three';
import { MeshStandardMaterial } from 'three';
import { MeshLambertMaterial } from 'three';
import { MeshToonMaterial } from 'three';
import { MaterialTexturesRecord, SetParamsTextureNodesRecord } from './_BaseController';
export declare function EmissiveMapParamConfig<TBase extends Constructor>(Base: TBase): {
new (...args: any[]): {
/** @param emissive color */
emissive: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.COLOR>;
/** @param toggle if you want to use a emissive map */
useEmissiveMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
/** @param specify the emissive map COP node */
emissiveMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>;
/** @param emissive intensity */
emissiveIntensity: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>;
};
} & TBase;
type TextureEmissiveMapControllerCurrentMaterial = MeshPhongMaterial | MeshLambertMaterial | MeshStandardMaterial | MeshPhysicalMaterial | MeshToonMaterial;
declare const TextureEmissiveMapParamsConfig_base: {
new (...args: any[]): {
/** @param emissive color */
emissive: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.COLOR>;
/** @param toggle if you want to use a emissive map */
useEmissiveMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
/** @param specify the emissive map COP node */
emissiveMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>;
/** @param emissive intensity */
emissiveIntensity: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>;
};
} & typeof NodeParamsConfig;
declare class TextureEmissiveMapParamsConfig extends TextureEmissiveMapParamsConfig_base {
}
export interface TextureEmissiveMapControllers {
emissiveMap: TextureEmissiveMapController;
}
declare abstract class TextureEmissiveMapMatNode extends TypedMatNode<TextureEmissiveMapControllerCurrentMaterial, TextureEmissiveMapParamsConfig> {
controllers: TextureEmissiveMapControllers;
material(): Promise<TextureEmissiveMapControllerCurrentMaterial | undefined>;
}
export declare class TextureEmissiveMapController extends BaseTextureMapController {
protected node: TextureEmissiveMapMatNode;
constructor(node: TextureEmissiveMapMatNode);
initializeNode(): void;
static update(node: TextureEmissiveMapMatNode): Promise<void>;
update(): Promise<void>;
updateMaterial(material: TextureEmissiveMapControllerCurrentMaterial): Promise<void>;
getTextures(material: TextureEmissiveMapControllerCurrentMaterial, record: MaterialTexturesRecord): void;
setParamsFromMaterial(material: TextureEmissiveMapControllerCurrentMaterial, record: SetParamsTextureNodesRecord): void;
}
export {};