@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
61 lines (60 loc) • 4.04 kB
TypeScript
import { Constructor } from '../../../../types/GlobalTypes';
import { TypedMatNode } from '../_Base';
import { BaseTextureMapController } from './_BaseTextureController';
import { NodeParamsConfig } from '../../utils/params/ParamsConfig';
import { MeshPhysicalMaterial } from 'three';
import { MeshStandardMaterial } from 'three';
import { MeshPhongMaterial } from 'three';
import { MeshMatcapMaterial } from 'three';
import { MeshNormalMaterial } from 'three';
import { MeshToonMaterial } from 'three';
import { MaterialTexturesRecord, SetParamsTextureNodesRecord } from './_BaseController';
export declare function NormalMapParamConfig<TBase extends Constructor>(Base: TBase): {
new (...args: any[]): {
/** @param toggle if you want to use a normal map */
useNormalMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
/** @param specify the normal map COP node */
normalMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>;
/** @param type of normal map being used */
normalMapType: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
/** @param How much the normal map affects the material. Typical ranges are 0-1 */
normalScale: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.VECTOR2>;
/** @param Normal Map Scale Multiplier, which multiples normalScale */
normalScaleMult: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>;
};
} & TBase;
type TextureNormalMapControllerCurrentMaterial = MeshPhongMaterial | MeshNormalMaterial | MeshMatcapMaterial | MeshPhysicalMaterial | MeshToonMaterial | MeshStandardMaterial;
declare const TextureNormalMapParamsConfig_base: {
new (...args: any[]): {
/** @param toggle if you want to use a normal map */
useNormalMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>;
/** @param specify the normal map COP node */
normalMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>;
/** @param type of normal map being used */
normalMapType: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>;
/** @param How much the normal map affects the material. Typical ranges are 0-1 */
normalScale: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.VECTOR2>;
/** @param Normal Map Scale Multiplier, which multiples normalScale */
normalScaleMult: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>;
};
} & typeof NodeParamsConfig;
declare class TextureNormalMapParamsConfig extends TextureNormalMapParamsConfig_base {
}
export interface TextureNormalMapControllers {
normalMap: TextureNormalMapController;
}
declare abstract class TextureNormalMapMatNode extends TypedMatNode<TextureNormalMapControllerCurrentMaterial, TextureNormalMapParamsConfig> {
controllers: TextureNormalMapControllers;
material(): Promise<TextureNormalMapControllerCurrentMaterial | undefined>;
}
export declare class TextureNormalMapController extends BaseTextureMapController {
protected node: TextureNormalMapMatNode;
constructor(node: TextureNormalMapMatNode);
initializeNode(): void;
static update(node: TextureNormalMapMatNode): Promise<void>;
update(): Promise<void>;
updateMaterial(material: TextureNormalMapControllerCurrentMaterial): Promise<void>;
getTextures(material: TextureNormalMapControllerCurrentMaterial, record: MaterialTexturesRecord): void;
setParamsFromMaterial(material: TextureNormalMapControllerCurrentMaterial, record: SetParamsTextureNodesRecord): void;
}
export {};